Class No. |
Course ID |
Title |
Credits |
Type |
Instructor(s) |
Days:Times |
Location |
Permission Required |
Dist |
Qtr |
| 2116 |
CPSC-110-01 |
Essentials of Computing-Python |
1.00 |
LEC |
Johnson, Jonathan |
MW: 11:30AM-12:45PM |
TBA |
|
NUM
|
|
| |
Enrollment limited to 18 |
Waitlist available: Y |
Mode of Instruction: In Person |
|
| |
Prerequisite: A satisfactory score on the Mathematics Placement Examination or a C- or better in Quantitative Literacy 101 or QLIT 103 |
| |
This course introduces fundamental concepts of computing and problem-solving techniques using the programming language Python. Topics covered include computer organization, data representations, algorithm design, coding, testing, and debugging strategies. Students will also explore various application areas of computing through a series of hands-on programming exercises. No prior programming experience is expected.
This course is not open to students who have completed CPSC 215L
This course is not open to students who have completed FYSM 124, Enchanted Data and Machine Minds |
| 1012 |
CPSC-115-01 |
Intro to Computer Science |
1.25 |
LEC |
Spezialetti, Madalene |
TR: 10:50AM-12:05PM |
TBA |
|
NUM
|
|
| |
Enrollment limited to 36 |
Waitlist available: Y |
Mode of Instruction: In Person |
|
| |
|
Cross-listing: DTSC-115-01 |
| |
Prerequisite: C- or better in Computer Science 110 or mathematics skills appropriate for enrolling in a calculus class. |
| |
This course provides an introduction to computer science from broad and diverse perspectives, through object-oriented problem-solving using the Java programming language. Throughout the course, recurring themes are abstraction and effective use of basic algorithmic constructs such as sequence, selection and iteration. The building blocks of object-oriented programming such as encapsulation, inheritance, polymorphism and generics are covered and reinforced with practical applications. Required weekly laboratory sessions deepen students' learning with hands-on opportunities to experiment with the concepts covered in the lectures. |
| 1015 |
CPSC-115-20 |
Intro to Computer Science |
1.25 |
LAB |
Spezialetti, Madalene |
T: 1:30PM-4:10PM |
TBA |
|
NUM
|
|
| |
Enrollment limited to 18 |
Waitlist available: Y |
Mode of Instruction: In Person |
|
| |
|
Cross-listing: DTSC-115-20 |
| |
Prerequisite: C- or better in Computer Science 110 or mathematics skills appropriate for enrolling in a calculus class. |
| |
This course provides an introduction to computer science from broad and diverse perspectives, through object-oriented problem-solving using the Java programming language. Throughout the course, recurring themes are abstraction and effective use of basic algorithmic constructs such as sequence, selection and iteration. The building blocks of object-oriented programming such as encapsulation, inheritance, polymorphism and generics are covered and reinforced with practical applications. Required weekly laboratory sessions deepen students' learning with hands-on opportunities to experiment with the concepts covered in the lectures. |
| 1016 |
CPSC-115-21 |
Intro to Computer Science |
1.25 |
LAB |
Johnson, Jonathan |
W: 1:30PM-4:10PM |
TBA |
|
NUM
|
|
| |
Enrollment limited to 18 |
Waitlist available: Y |
Mode of Instruction: In Person |
|
| |
|
Cross-listing: DTSC-115-21 |
| |
Prerequisite: C- or better in Computer Science 110 or mathematics skills appropriate for enrolling in a calculus class. |
| |
This course provides an introduction to computer science from broad and diverse perspectives, through object-oriented problem-solving using the Java programming language. Throughout the course, recurring themes are abstraction and effective use of basic algorithmic constructs such as sequence, selection and iteration. The building blocks of object-oriented programming such as encapsulation, inheritance, polymorphism and generics are covered and reinforced with practical applications. Required weekly laboratory sessions deepen students' learning with hands-on opportunities to experiment with the concepts covered in the lectures. |
| 2003 |
CPSC-203-01 |
Math Foundatns of Comput |
1.00 |
LEC |
Miyazaki, Takunari |
MWF: 10:00AM-10:50AM |
TBA |
|
NUM
|
|
| |
Enrollment limited to 24 |
Waitlist available: Y |
Mode of Instruction: In Person |
|
| |
Prerequisite: C- or better in CPSC 115 or concurrent enrollment. |
| |
An introduction to the principles of logic and discrete mathematics required in the study of computer science. Topics covered may include: propositional and predicate logic and their relationship to general proof techniques used in computing and correctness proofs of programs; mathematical induction applied to recursion and recurrence relations; set theory with an emphasis on infinite sets used in computing; counting principles useful in analyzing graphs and trees; relations and functions and their relationship to databases and functional programming languages. Computer programs will be used to explore concepts examined in the course. |
| 1013 |
CPSC-215-01 |
Data Structures & Algorithms |
1.25 |
LEC |
Yoon, Peter |
MWF: 12:00PM-12:50PM |
TBA |
|
NUM
|
|
| |
Enrollment limited to 16 |
Waitlist available: Y |
Mode of Instruction: In Person |
|
| |
Prerequisite: C- or better in Computer Science 115L. |
| |
A study of data structures and algorithms using a high-level programming language. The basic data structures (lists, stacks, queues, trees, and files) and basic algorithms (searching, sorting, and file management) will be introduced and implemented. Data and procedural abstraction, software design principles, and the analysis of the complexity of algorithms will be discussed. Details related to programming will be covered in a required weekly lab. |
| 1014 |
CPSC-215-20 |
Data Structures & Algorithms |
1.25 |
LAB |
Yoon, Peter |
W: 1:30PM-4:10PM |
TBA |
|
NUM
|
|
| |
Enrollment limited to 16 |
Waitlist available: Y |
Mode of Instruction: In Person |
|
| |
Prerequisite: C- or better in Computer Science 115L. |
| |
A study of data structures and algorithms using a high-level programming language. The basic data structures (lists, stacks, queues, trees, and files) and basic algorithms (searching, sorting, and file management) will be introduced and implemented. Data and procedural abstraction, software design principles, and the analysis of the complexity of algorithms will be discussed. Details related to programming will be covered in a required weekly lab. |
| 2773 |
CPSC-219-01 |
Theory of Computation |
1.00 |
LEC |
Miyazaki, Takunari |
MW: 8:30AM-9:45AM |
TBA |
|
NUM
|
|
| |
Enrollment limited to 24 |
Waitlist available: Y |
Mode of Instruction: In Person |
|
| |
Prerequisite: C- or better in Computer Science 115L and Computer Science 203 |
| |
A selection of topics intended to serve as an introduction to formal languages and automata theory. The topics will be chosen from among finite state machines, pushdown automata, Turing machines, the Chomsky language hierarchy and related questions of computability. |
| 2774 |
CPSC-315-01 |
Systems Software |
1.00 |
LEC |
Spezialetti, Madalene |
TR: 9:25AM-10:40AM |
TBA |
|
NUM
|
|
| |
Enrollment limited to 24 |
Waitlist available: Y |
Mode of Instruction: In Person |
|
| |
Prerequisite: C- or better in Computer Science 215L, 275L and 203 (or concurrent enrollment in CPSC 203) |
| |
A study of the organization and implementation of computer operating systems. Topics include operating systems organization, file systems, memory and process management, resource allocation, recovery procedures, multiprogramming, and distributed processing. The Unix operating system will be used and emphasis will be placed on how various system functions have been implemented in the Unix environment. |
| 2582 |
CPSC-360-01 |
Deep Learning |
1.00 |
LEC |
Chakraborttii, Chandranil |
TR: 10:50AM-12:05PM |
TBA |
|
NUM
|
|
| |
Enrollment limited to 24 |
Waitlist available: Y |
Mode of Instruction: In Person |
|
| |
|
Cross-listing: DTSC-360-01 |
| |
Prerequisite: C- or better in Computer Science 215. |
| |
The course will introduce the students to the fundamentals aspects of artificial neural networks (ANN), convolution neural networks (CNN), recurrent neural networks (RNNs), generative adversarial networks (GAN), and reinforcement learning. The focus will be primarily on the application of deep learning to realworld problems, with some introduction to mathematical foundations. Application of neural network frameworks to natural language processing (NLP), time series, computer vision, security, and data generation problems will be discussed. Python will be the primary programming language for this course. The students will work in teams towards a semester-long project using Google Tensorflow and Keras. |
| 1124 |
CPSC-399-01 |
Independent Study |
0.50 - 1.00 |
IND |
TBA |
TBA |
TBA |
Y |
|
|
| |
Enrollment limited to 15 |
Waitlist available: N |
Mode of Instruction: In Person |
|
| |
Independent work to develop maturity and initiative in the solution of a problem in the area of the student's special interests. This course may require concurrent registration in Computer Science 403 or 404. Submission of the special registration form, available in the Registrar's Office, and the approval of the instructor and chairperson are required for enrollment. |
| 2208 |
CPSC-404-01 |
Computer Science Seminar |
0.50 |
SEM |
Kousen, Kenneth |
R: 1:30PM-2:45PM |
TBA |
Y |
WEB
|
|
| |
Enrollment limited to 14 |
Waitlist available: N |
Mode of Instruction: In Person |
|
| |
This course is open only to senior Computer Science majors. |
| |
Students engaged in research (Computer Science 419) or independent study (Computer Science 399) and senior exercise students will meet with computer science faculty for oral presentations and critical discussions of journal papers, research plans, and research progress. Seniors using this course to satisfy the senior exercise requirement will be expected to complete a research or design project and make a formal presentation on its results to the seminar. The project may be an extension or revision of a project conducted in one of their other major courses. |
| 2393 |
CPSC-404-02 |
Computer Science Seminar |
0.50 |
SEM |
Kousen, Kenneth |
R: 2:55PM-4:10PM |
TBA |
Y |
WEB
|
|
| |
Enrollment limited to 14 |
Waitlist available: N |
Mode of Instruction: In Person |
|
| |
This course is open only to senior Computer Science majors. |
| |
Students engaged in research (Computer Science 419) or independent study (Computer Science 399) and senior exercise students will meet with computer science faculty for oral presentations and critical discussions of journal papers, research plans, and research progress. Seniors using this course to satisfy the senior exercise requirement will be expected to complete a research or design project and make a formal presentation on its results to the seminar. The project may be an extension or revision of a project conducted in one of their other major courses. |
| 2944 |
CPSC-415-01 |
Special Topics: GPU Computing |
1.00 |
LEC |
Yoon, Peter |
M: 6:30PM-9:00PM |
TBA |
|
NUM
|
|
| |
Enrollment limited to 24 |
Waitlist available: Y |
Mode of Instruction: In Person |
|
| |
Prerequisite: C- or better in Computer Science 275 |
| |
This course explores graphics processing units (GPUs) as programmable accelerators and the architectural principles that enable large-scale thread parallelism. Students study how computation is organized on GPUs and how data movement, memory hierarchy, and synchronization affect performance. The course focuses on the development and optimization of code executed on GPUs using standard frameworks such as CUDA and OpenCL. Through practical assignments and projects, students apply GPU computing techniques to domains such as scientific simulation, image processing, and machine learning. |
| 1125 |
CPSC-466-01 |
Teaching Assistant |
0.50 - 1.00 |
IND |
TBA |
TBA |
TBA |
Y |
|
|
| |
Enrollment limited to 15 |
Waitlist available: N |
Mode of Instruction: In Person |
|
| |
Submission of the special registration form, available online, and the approval of the instructor are required for enrollment. Guidelines are available in the College Bulletin.
(0.5 - 1 course credit) |
| 2209 |
CPSC-499-01 |
Senior Project Part 2 |
0.50 |
IND |
TBA |
TBA |
TBA |
Y |
|
|
| |
Enrollment limited to 15 |
Waitlist available: N |
Mode of Instruction: In Person |
|
| |
This course is comprised of a research or implementation project and a final written report. This course is required for all senior computer science majors. Students must locate a project advisor and must submit a preliminary proposal to the project adviser by the last day of classes in the spring semester of the junior year. In addition to the proposal, submission of the special registration form and the approval of the instructor and chairperson are required for each semester of this year-long project.(1 course credit to be completed in two semesters.) |