Active Course List

2024-2025


Computer Science

Study of theory and/or implementation topics related to operating systems such as security and protection, virtual machines, device management, file systems, real time and embedded systems, fault tolerance and system performance evaluation. Prerequisite: Admission to Major or Permission

Areas of Interest:
Information Technology
Programs:
Computer Science (BS) | Software Engineering (BS)

Study of theory and/or implementation topics related to programming languages such as syntax analysis, semantic analysis, code generation, runtime systems, static analysis, advanced programming constructs, concurrency and parallelism, type systems, formal semantics, language pragmatics, and logic programming. Prerequisite: Admission to Major or Permission

Areas of Interest:
Information Technology
Programs:
Computer Science (BS) | Software Engineering (BS)

Study of theory and/or implementation topics related to networking and computation such as mobility and social networking and expansion of topics covered in CS 306. Prerequisite: Admission to Major or Permission

Areas of Interest:
Information Technology
Programs:
Computer Science (BS) | Software Engineering (BS)

Study of theory and/or implementation topics related to algorithms and computing such as advanced computational complexity, automata theory and computability, and advanced data structures algorithms and analysis. This includes the theoretical underpinnings of modern computer science, focusing on three main models of computation: DFA, PDA and Turing Machines. Students determine model capabilities and limitations: what is and is not computable by each of them.

Prerequisites:
Admission to major or permission.
Areas of Interest:
Information Technology
Programs:
Computer Science (BS) | Software Engineering (BS)

Study of theory and/or implementation topics related to parallel and distributed computing such as parallel algorithms, architecture, and performance, distributed systems, cloud computing, and formal models and semantics. These have been called techniques for High Performance Computing. Topics also include application areas and basic concepts of parallel computing, hardware design of modern HPC platforms and parallel programming models, methods of measuring and characterizing serial and parallel performance.

Prerequisites:
Admission to major or permission.
Areas of Interest:
Information Technology
Programs:
Computer Science (BS) | Software Engineering (BS)

Study of theory and/or implementation topics related to computer architecture and organization such as functional organization, multiprocessing and alternative architectures, and performance enhancements. This includes topics in computer architecture including a major emphasis on measuring and improving computer performance. Topics include advances in pipelining and analysis and optimization of storage systems and networks, multiprocessor challenges and trends.

Prerequisites:
Admission to major or permission.
Areas of Interest:
Information Technology
Programs:
Computer Science (BS) | Software Engineering (BS)

Study of theory and/or implementation topics related to intelligent systems such as Basic Search Strategies, Basic Knowledge Representation and Reasoning, Basic Machine Learning, Advanced Search, Advanced Representation and Reasoning, Reasoning Under Uncertainty, Agents, Natural Language Processing, Advanced Machine Learning, Robotics, and Perception and Computer Vision. Prerequisite: Admission to Major or Permission

Areas of Interest:
Information Technology
Programs:
Cognitive Science (BS) Biology | Cognitive Science (BS) Computer Science | Cognitive Science (BS) Philosophy | Cognitive Science (BS) Psychology | Computer Science (BS) | Software Engineering (BS)

Study of theory and/or implementation topics related to information management such as indexing, relational databases, query languages, transaction processing, distributed databases, physical database design, data mining, information storage and retrieval and multimedia systems. Prerequisite: Admission to Major or Permission

Areas of Interest:
Information Technology
Programs:
Computer Science (BS) | Software Engineering (BS)

Study of theory and/or implementation topics related to information assurance and security, such as defensive programming, threats and attacks, network security, cryptography, web security, platform security, security policy and governance, digital forensics, and secure software engineering. Prerequisite: Admission to Major or Permission

Areas of Interest:
Information Technology
Programs:
Computer Science (BS) | Software Engineering (BS)

Study of theory and/or implementation topics related to computational science such as modeling and simulation, processing, interactive visualization, data, information and knowledge, and numerical analysis. Prerequisite: Admission to Major or Permission

Areas of Interest:
Information Technology
Programs:
Computer Science (BS) | Software Engineering (BS)

Study of theory and/or implementation topics related to graphics and visualization such as basic and advanced rendering, geometric modeling, computer animation and visualization. Topics include game programming with concentration on 3D graphics including modeling, rendering, and animation for computer games and graphic simulations. Programs are created using a current graphics and game development environment.

Prerequisites:
Admission to major or permission.
Areas of Interest:
Information Technology
Programs:
Computer Science (BS) | Software Engineering (BS)

Study of theory and/or implementation topics related to human computer interaction such as designing interaction, programming interactive systems, user-centered design and testing, new interactive technologies, collaboration & communication, statistical methods for HCI, human factors and security, design-oriented HCI, and mixed, augmented and virtual reality. This course builds on the use of modern compilers. Related topics covered include lexical scanning, parsing, type checking, code generation and translation, optimization, and compile-time and run-time support for modern programming languages.

Prerequisites:
Admission to major or permission.
Areas of Interest:
Information Technology
Programs:
Cognitive Science (BS) Biology | Cognitive Science (BS) Computer Science | Cognitive Science (BS) Philosophy | Cognitive Science (BS) Psychology | Computer Science (BS) | Software Engineering (BS)

Study of theory and/or implementation topics related to software engineering such as software processes, project management, requirements engineering, software design, construction, verification and validation, reliability, and formal methods. These relate to advanced programming for general-purpose software development. Topics include tools and processes appropriate for employing object-oriented designs and programming within a significant software development environment and advanced data structures and algorithms, graphical user interfaces, and software development processes.

Prerequisites:
Admission to major or permission.
Areas of Interest:
Information Technology
Programs:
Computer Science (BS)

Study of topics theory and/or implementation related to the fundamental differences that Platform-Based Development has over traditional software development addressing topics such as Web Platforms, Mobile Platforms, Industrial Platforms, and Game Platforms. Prerequisite: Admission to Major or Permission

Areas of Interest:
Information Technology
Programs:
Computer Science (BS)

Students gain experience working with a team to solve a substantial problem in the field of computer science using concepts that span several topic areas in computer science related to cognitive science. Class time focuses primarily on project design and implementation. Senior standing in the Cognitive Science major with a Computer Science Focus.

Prerequisites:
Senior standing and successful completion of all core requirements.
Graduation Requirements:
Writing Intensive
Areas of Interest:
Information Technology
Programs:
Cognitive Science (BS) Computer Science

The first in a two-semester sequence of capstone design. Students build on the experience gained in CS 391W/392W to bring their research or project implementation and leadership to that expected of contributing computer scientists in industry or research. Course must be taken concurrently with CS 495.

Prerequisites:
CS 301, CS 302, CS 303, CS 304, CS 392
Areas of Interest:
Information Technology

The first in a two-semester sequence of capstone design. Students build on the experience gained in CS 391W/392W to bring their research or project implementation and leadership to that expected of contributing computer scientists in industry or research. Course must be taken concurrently with CS 495.

Prerequisites:
CS 301, CS 302, CS 303, CS 304, CS 392W
Graduation Requirements:
Writing Intensive
Areas of Interest:
Information Technology

The second in a two-semester sequence of capstone design and the fourth project class overall. Students build on the experience gained in CS 391W/392W to bring their research or project implementation and leadership to that expected of contributing computer scientists in industry or research. Expectations include public presentation of project work, patent applications, and/or plan for commercialization of project. Course must be taken concurrently with CS 495.

Prerequisites:
CS 491 and (CS 306, CS 401, CS 403, CS 406, CS 410, CS 420, CS 435, CS 440, CS 445, CS 450, CS 465, CS 470, CS 480, or CS 485)
Areas of Interest:
Information Technology

The second in a two-semester sequence of capstone design and the fourth project class overall. Students build on the experience gained in CS 391W/392W to bring their research or project implementation and leadership to that expected of contributing computer scientists in industry or research. Expectations include public presentation of project work, patent applications, and/or plan for commercialization of project. Course must be taken concurrently with CS 495.

Prerequisites:
CS 491W and (CS 306, CS 401, CS 403, CS 406, CS 410, CS 420, CS 435, CS 440, CS 445, CS 450, CS 465, CS 470, CS 480, or CS 485)
Graduation Requirements:
Writing Intensive
Areas of Interest:
Information Technology
Programs:
Computer Science (BS)

Workshop topics will be announced. Workshops on different topics may be taken for credit.

Prerequisites:
Consent of Instructor
Areas of Interest:
Information Technology

Students learn about computer science practice through seminars with faculty, graduate students, undergraduate students admitted to the CS major, visiting researchers, and industry members. CS students are assisted in their development as learners and professional citizens through workshops. This course is repeated by upper-division Computer Science students every semester.

Prerequisites:
Admission to major.
Areas of Interest:
Information Technology

Special topics not covered in other courses. May be repeated for credit on each new topic. VariablePrereq: Consent

Prerequisites:
Consent
Areas of Interest:
Information Technology

This course is designed to provide students with an opportunity to utilize their training in a real-world environment. Participants work under the guidance and direction of a full-time staff member. (At most 4 hours towards the CS major.)Prereq: Permanent admission to the CS major, CS 300, consent

Prerequisites:
Permanent admission to the CS major, CS 300, consent.
Areas of Interest:
Information Technology

Advanced study and research required. Topic of the senior thesis determined jointly by the student and the faculty advisor.Fall, Spring Prereq: Senior standing and consent

Prerequisites:
Senior standing and consent
Graduation Requirements:
Writing Intensive
Areas of Interest:
Information Technology
Programs:
Cognitive Science (BS) Computer Science | Computer Science (BS)

Problems in the field of computer science are studied on an individual basis under the guidance of a faculty mentor.Fall, Spring Prereq: Consent

Prerequisites:
Consent
Areas of Interest:
Information Technology