Past Courses
CPSC 121 - Computer Science I
Fall 2019, Spring 2020, Fall
2020, Spring 2021, Fall 2022, Spring 2024, Fall 2024
Fall 2019 Syllabus,
Spring 2020 Syllabus,
Fall 2020 Syllabus,
Spring 2021 Syllabus,
Fall 2022 Syllabus,
Spring 2024 Syllabus
Fall 2024 Syllabus
- Techniques of problem-solving and algorithmic development. An introduction to programming. Emphasis
is on how to design, code, debug, and document programs using good programming style.
- Credits: 3.00
- College: School of Engineering/Applied Science (SEAS)
- Department: Computer Science
- Prerequisites: None
CPSC 121 is a first course ("CS 1") in computer science for majors. In this course, we use the C++
programming language to explore the fundamental concepts, constructs, and techniques of modern computer
programming, including functional decomposition, data structures, and software engineering. The primary
aim of this course is to give you a thorough introduction into problem solving, algorithm discovery, and
program design in C++. Some of these concepts include, but are not limited to, the following:
- Algorithm design
- Program design and implementation
- Software processes
- Data structure design and implementation
CPSC 122 - Computer Science II
Fall 2021, Fall 2023
Fall 2021 Syllabus,
Fall 2023 Syllabus
- A continuation of CPSC 121. An examination of pointers and recursion; an introduction to basic data
structures and algorithmic analysis.
- Credits: 3.00
- College: School of Engineering/Applied Science (SEAS)
- Department: Computer Science
- Prerequisites: CPSC 121
CPSC 122 is a continuation of the first course in computer science (CPSC 121) for majors. In this course, we
use the C++ programming language to continue to explore the fundamental concepts, constructs, and techniques
of modern computer programming, including (but not limited to) sorting and searching algorithms, pointers
and dynamic memory management, classes and data types, and recursion. The primary aim of this course is to
give you a thorough introduction into problem solving, algorithm discovery, and program design in C++.
CPSC 331 - UI/UX Design (previously CPSC 311 - Human-Computer
Interaction)
Spring 2020, Spring 2022,
Spring 2023, Spring 2024
Spring 2020 Syllabus,
Spring 2022 Syllabus,
Spring 2023 Syllabus,
Spring 2024 Syllabus
- Exploration of theories and principles related to human-computer interaction, user experience design,
and user interface design. Development of techniques and practices for designing and evaluating software
usability.
- Credits: 3.00
- College: School of Engineering/Applied Science (SEAS)
- Department: Computer Science
- Prerequisites: CPSC 122
Human-computer interaction (HCI) is a multidisciplinary field of study focusing on the design of computer
technology and, in particular, the interaction between humans (the users) and computers.
This course is designed as an introduction to the theory and practice of human-computer interaction, i.e.,
user interface and user experience design using human-centered methodologies. Through readings,
discussions, hands-on activities, peer-reviews, and user interface design and evaluation projects, you
will explore the key concepts, theories and methods of the area, including
-
Key principles and concepts for designing human-computer interfaces, along with the theories of
human perception, cognition and learning that underlie them.
-
Human-centered (or user-centered) software design processes.
-
Early data gathering methods (field studies, questionnaires, interviews, contextual inquiry) for
human-centered design.
-
Low and high-fidelity prototyping techniques.
-
Empirical methods for evaluating software (usability testing, controlled experiments).
-
Analytical methods for evaluating software (heuristic evaluation, cognitive walkthrough, KLM, GOMS).
CPSC 332 (previously CPSC 314) - Web Development
Fall 2020, Fall 2021, Fall
2022, Fall 2024
Fall 2020 Syllabus,
Fall 2021 Syllabus,
Fall 2022 Syllabus,
Fall 2024 Syllabus
- Techniques of web page development. An introduction to web programming. Emphasis is on web programming
basics using well-established web structure and style.
- Credits: 3.00
- College: School of Engineering/Applied Science (SEAS)
- Department: Computer Science
- Prerequisites: CPSC 122
This course covers the basics of web programming and development. Students will be introduced to the history
of the web, IP addresses, domain names, URLs and HTTP. Topics will focus on using the HTML5 standard, which
uses HTML, CSS, and JavaScript to create web pages and web applications. The final third of the course will
cover more advanced web programming topics and conclude with a final project and presentation.
CPSC 333 - Mobile App Development
Fall 2022, Fall 2023
Fall 2022 Syllabus,
Fall 2023 Syllabus
- An introduction to mobile application development.
- Credits: 3.00
- College: School of Engineering/Applied Science (SEAS)
- Department: Computer Science
- Prerequisites: CPSC 122
This course provides an introduction to mobile application development. The primary aim of this course is to
provide students with a thorough introduction to designing and building native and/or cross-platform apps
for mobile devices. The platform, frameworks/libraries, and development tools used in this course vary and
are dependent on the current demand in industry. Topics include object-oriented programming, design
patterns, user interface design and implementation, data storage, working with application programming
interfaces, threading, camera and photos, and location and maps.
- Develop a solution using an industry-standard integrated development environment (IDE)
- Design and develop software using basic object-oriented (OO) programming techniques, including
composition, inheritance, interfaces/protocols, and polymorphism
- Design and develop software using common design patterns, including Model-View-Controller (MVC)
- Develop a solution that uses a graphical user interface (GUI) framework and graphics packages
- Design and implement complex user interfaces with storyboarding
- Discuss modern frameworks and libraries for real-world mobile application development
CPSC 425 - Computer Graphics
Spring 2023
Spring 2023 Syllabus
- An introduction to computer graphics.
- Credits: 3.00
- College: School of Engineering/Applied Science (SEAS)
- Department: Computer Science
- Prerequisites: CPSC 223 and MATH 231
Introduction to the use of graphics primitives within a higher level language to produce two and
three-dimensional images; underlying mathematical operations used to implement standard graphics packages;
practical experience with current graphics systems.