CS161 |
Intro to Computer Science I |
Python |
Overview of fundamental concepts of computer science. |
Winter 2022 |
A |
CS225 |
Discrete Structures |
Math |
An introduction to the discrete mathematics of computer science, including logic, set and set operations, methods of proof, recursive definitions, combinatorics, and graph theory. |
Winter 2022 |
A |
CS162 |
Intro to Computer Science II |
Python |
Basic data structures. Computer programming techniques and application of software engineering principles. Introduction to analysis of programs. |
Spring 2022 |
A |
CS271 |
Computer Architecture & Assembly Language |
ASM |
Introduction to functional organization and operation of digital computers. Coverage of assembly language; addressing, stacks, argument passing, arithmetic operations, decisions, macros, modularization, linkers and debuggers. |
Spring 2022 |
A |
CS261 |
Data Structures |
Python |
Abstract data types, dynamic arrays, linked lists, trees and graphs, binary search trees, hash tables, storage management, complexity analysis of data structures. |
Summer 2022 |
A |
CS290 |
Web Development |
Javascript |
How to design and implement a multi-tier application using web technologies: Creation of extensive custom client- and server-side code, consistent with achieving a high-quality software architecture. |
Summer 2022 |
A |
CS325 |
Analysis of Algorithms |
Python |
Recurrence relations, combinatorics, recursive algorithms, proofs of correctness. |
Fall 2022 |
A |
CS450 |
Intro to Computer Graphics (elective) |
C++ |
Theoretical and practical treatment of 3D computer graphics using OpenGL: geometric modeling, transformations, viewing, lighting, texture mapping, shading, rendering, and animation. |
Fall 2022 |
A- |
CS344 |
Operating Systems I |
C |
Introduction to operating systems using UNIX as the case study. System calls and utilities, fundamentals of processes and interprocess communication. |
Winter 2023 |
A |
CS361 |
Software Engineering I |
Javascript |
Introduction to the "front end" of the software engineering lifecycle; requirements analysis and specification; design techniques; project management. |
Winter 2023 |
A |
CS362 |
Software Engineering II |
Javascript |
Introduction to the "back end" of the software engineering lifecycle implementation; verification and validation; debugging; maintenance. |
Spring 2023 |
A |
CS340 |
Intro to Databases |
SQL |
Design and implementation of relational databases, including data modeling with ER or UML, diagrams, relational schema, SQL queries, relational algebra, user interfaces, and administration. |
Spring 2023 |
A |
CS475 |
Intro to Parallel Programming (elective) |
C++ |
Theoretical and practical survey of parallel programming, including a discussion of parallel architectures, parallel programming paradigms, and parallel algorithms. Programming one or more parallel computers in a higher-level parallel language. |
Summer 2023 |
A |
CS372 |
Programming Language Fundamentals (elective) |
Ruby, Racket, Raku, Prolog |
An introduction to the concepts found in a variety of programming languages. Programming languages as tools for problem solving. A brief introduction to languages from a number of different paradigms. |
Fall 2023 |
TBD |
CS467 |
Online Capstone Project |
C#, React, Javascript |
Real-world team-based experience with the software engineering design and delivery cycle, including requirements analysis and specification, design techniques, and requirements and final project written documentation. For students in the online CS double-degree program only. |
Fall 2023 |
TBD |