blank
Select a level:
Select a term:
Only show courses available to first-year students.
blank

Course Listing for COMPUTER SCIENCE - Fall 2026 (ALL: 09/08/2026 - 12/23/2026)
Class
No.
Course ID Title Credits Type Instructor(s) Days:Times Location Permission
Required
Dist Qtr
2309 CPSC-110-01 Essentials of Computing-Python 1.00 LEC Johnson, Jonathan TR: 9:25AM-10:40AM 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
  NOTE: 10 seats reserved for first year students.
  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
1005 CPSC-115-01 Intro to Computer Science 1.25 LEC Islam, Maminur MWF: 10:00AM-10:50AM 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.
1006 CPSC-115-20 Intro to Computer Science 1.25 LAB Islam, Maminur W: 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.
1007 CPSC-115-21 Intro to Computer Science 1.25 LAB Johnson, Jonathan R: 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.
2061 CPSC-215-01 Data Structures & Algorithms 1.25 LEC Miyazaki, Takunari MWF: 10:00AM-10:50AM TBA NUM  
  Enrollment limited to 16 Waitlist available: Y Mode of Instruction: In Person  
    Cross-listing: DTSC-215-01
  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.
2062 CPSC-215-20 Data Structures & Algorithms 1.25 LAB Miyazaki, Takunari T: 1:30PM-4:10PM TBA NUM  
  Enrollment limited to 16 Waitlist available: Y Mode of Instruction: In Person  
    Cross-listing: DTSC-215-20
  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.
2839 CPSC-275-01 Intro to Computer Systems 1.25 LEC Chakraborttii, Chandranil MWF: 11:00AM-11:50AM TBA NUM  
  Enrollment limited to 24 Waitlist available: Y Mode of Instruction: In Person  
  Prerequisite: C- or better in Computer Science 215.
  This course introduces the fundamental organization and structure of modern computer systems from the perspective of a programmer. Students will become more effective programmers as they learn how computer systems compile, link, and execute programs, store information, and communicate. Topics covered will include data representations, computer arithmetic, low-level representations of programs, processor organization, the memory hierarchy and management, processes, and system-level I/O. A required weekly lab will involve a series of programming exercises related to these topics.
2840 CPSC-275-20 Intro to Computer Systems 1.25 LAB Chakraborttii, Chandranil W: 1:30PM-4:10PM TBA NUM  
  Enrollment limited to 12 Waitlist available: Y Mode of Instruction: In Person  
  Prerequisite: C- or better in Computer Science 215.
  This course introduces the fundamental organization and structure of modern computer systems from the perspective of a programmer. Students will become more effective programmers as they learn how computer systems compile, link, and execute programs, store information, and communicate. Topics covered will include data representations, computer arithmetic, low-level representations of programs, processor organization, the memory hierarchy and management, processes, and system-level I/O. A required weekly lab will involve a series of programming exercises related to these topics.
2841 CPSC-275-21 Intro to Computer Systems 1.25 LAB Islam, Maminur R: 1:30PM-4:10PM TBA NUM  
  Enrollment limited to 12 Waitlist available: Y Mode of Instruction: In Person  
  Prerequisite: C- or better in Computer Science 215.
  This course introduces the fundamental organization and structure of modern computer systems from the perspective of a programmer. Students will become more effective programmers as they learn how computer systems compile, link, and execute programs, store information, and communicate. Topics covered will include data representations, computer arithmetic, low-level representations of programs, processor organization, the memory hierarchy and management, processes, and system-level I/O. A required weekly lab will involve a series of programming exercises related to these topics.
3192 CPSC-352-01 Artificial Intelligence 1.00 LEC Chakraborttii, Chandranil MW: 8:30AM-9:45AM TBA NUM  
  Enrollment limited to 24 Waitlist available: Y Mode of Instruction: In Person  
  Also cross-referenced with PSYC Cross-listing: DTSC-352-01
  Prerequisite: C- or better in Computer Science 215L and Computer Science 203 (or concurrent enrollment in 203).
  A study of basic principles and research methods in artificial intelligence. The course exposes students to selected topics in the field including pattern recognition, problem solving, theorem proving, knowledge representation, and natural language understanding by computers. The course will draw on recent advances made by cognitive scientists in each of these applications. Students are expected to study the theoretical background of an application. They will also complete several programming and simulation assignments during the semester.
3193 CPSC-372-01 Database Fundamentals 1.00 LEC Johnson, Jonathan TR: 10:50AM-12:05PM TBA NUM  
  Enrollment limited to 24 Waitlist available: Y Mode of Instruction: In Person  
    Cross-listing: DTSC-372-01
  Prerequisite: C- or better in Computer Science 215L and Computer Science 203 (or concurrent enrollment in 203).
  This course provides an introduction to the design and implementation of database systems. Topics include: the relational algebra and relational database models; SQL and other relational query languages; the implementation of database management systems, including indexing, concurrency control and transaction management.
3194 CPSC-385-01 Computer Security 1.00 LEC Syta, Ewa 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 203, 215L and 275L
  Introduction to computer security, the practice of protecting information and computer systems from unauthorized actions. Topics covered in the course include information and computer security principles; basic adversarial models and threats; applied cryptography; network, software, operating system, and web security; real-world security protocols; policy, administration and auditing; and legal and ethical issues. Topics on privacy, anonymity, surveillance and a variety of modern, widely available tools for secure communication will also be discussed.
1421 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.
2460 CPSC-403-01 Computer Science Seminar 0.50 SEM Kousen, Kenneth T: 1:30PM-2:45PM TBA Y WEB  
  Enrollment limited to 14 Waitlist available: Y 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.
2843 CPSC-403-02 Computer Science Seminar 0.50 SEM Kousen, Kenneth T: 2:55PM-4:10PM TBA Y WEB  
  Enrollment limited to 14 Waitlist available: Y 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.
3195 CPSC-415-01 Special Topics: AI Integration 1.00 LEC Kousen, Kenneth M: 1:30PM-4:10PM TBA NUM  
  Enrollment limited to 24 Waitlist available: Y Mode of Instruction: In Person  
    Cross-listing: DTSC-415-01
  Prerequisite: C- or better in Computer Science 215.
  Explore the integration of AI systems into software development, focusing on programmatic access to AI services. The course covers RESTful API interactions, local AI open-source models, and applications in chatbots, image generation, visualization, and audio/video creation. By blending theoretical foundations with implementation, the course equips students with the knowledge to leverage AI in modern software solutions.
1480 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)
2239 CPSC-490-01 Research Assistantship 0.50 - 1.00 IND TBA TBA TBA Y  
  Enrollment limited to 15 Waitlist available: N Mode of Instruction: In Person  
  This course is designed to provide students with the opportunity to undertake substantial research work with a faculty member. Students need to complete a special registration form, available online.
2453 CPSC-498-01 Senior Project Part 1 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.)
3414 DTSC-115-01 Intro to Computer Science 1.25 LEC Islam, Maminur MWF: 10:00AM-10:50AM TBA NUM  
  Enrollment limited to 36 Waitlist available: Y Mode of Instruction: In Person  
    Cross-listing: CPSC-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.
3415 DTSC-115-20 Intro to Computer Science 1.25 LAB Islam, Maminur W: 1:30PM-4:10PM TBA NUM  
  Enrollment limited to 18 Waitlist available: Y Mode of Instruction: In Person  
    Cross-listing: CPSC-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.
3416 DTSC-115-21 Intro to Computer Science 1.25 LAB Johnson, Jonathan R: 1:30PM-4:10PM TBA NUM  
  Enrollment limited to 18 Waitlist available: Y Mode of Instruction: In Person  
    Cross-listing: CPSC-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.
3422 DTSC-212-01 Probability 1.00 LEC Churchill, Victor MWF: 11:00AM-11:50AM TBA NUM  
  Enrollment limited to 30 Waitlist available: Y Mode of Instruction: In Person  
    Cross-listing: MATH-212-01
  Prerequisite: C- or better in Mathematics 132 or 231, or instructor consent.
  This foundational course provides an introduction to probability theory, covering key concepts and theorems essential for understanding randomness and uncertainty. Topics include discrete and continuous random variables, important densities and distribution functions, joint distributions and covariance, conditional probability and Bayes' theorem, the Law of Large Numbers, and the Central Limit Theorem. Additional topics may be included based on the instructor's focus as time permits.
3417 DTSC-215-01 Data Structures & Algorithms 1.25 LEC Miyazaki, Takunari MWF: 10:00AM-10:50AM TBA NUM  
  Enrollment limited to 16 Waitlist available: Y Mode of Instruction: In Person  
    Cross-listing: CPSC-215-01
  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.
3418 DTSC-215-20 Data Structures & Algorithms 1.25 LAB Miyazaki, Takunari T: 1:30PM-4:10PM TBA NUM  
  Enrollment limited to 16 Waitlist available: Y Mode of Instruction: In Person  
    Cross-listing: CPSC-215-20
  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.
3423 DTSC-229-01 Applied Linear Algebra 1.00 LEC Bartels, Richard MWF: 11:00AM-11:50AM TBA NUM  
  Enrollment limited to 19 Waitlist available: Y Mode of Instruction: In Person  
    Cross-listing: MATH-229-01
  Prerequisite: C- or better in Mathematics 132, 205, 231 or 253, or consent of instructor.
  An introduction to linear algebra with an emphasis on practical applications and computation. Topics will be motivated by real-world examples from a variety of disciplines, for instance medical imaging, quantum states, Google’s PageRank, Markov chains, graphs and networks,difference equations, and ordinary and partial differential equations. Topics will include solvability and sensitivity of large systems, iterative methods, matrix norms and condition numbers, orthonormal bases and the Gram-Schmidt process, and spectral properties of linear operators. MATLAB will be used for coding throughout the course, although no previous experience is required. Students may not count both Mathematics 228 and Mathematics 229 for credit towards the Math major.
3424 DTSC-229-02 Applied Linear Algebra 1.00 LEC Skardal, Per Sebastian MWF: 10:00AM-10:50AM TBA NUM  
  Enrollment limited to 19 Waitlist available: Y Mode of Instruction: In Person  
    Cross-listing: MATH-229-02
  Prerequisite: C- or better in Mathematics 132, 205, 231 or 253, or consent of instructor.
  An introduction to linear algebra with an emphasis on practical applications and computation. Topics will be motivated by real-world examples from a variety of disciplines, for instance medical imaging, quantum states, Google’s PageRank, Markov chains, graphs and networks,difference equations, and ordinary and partial differential equations. Topics will include solvability and sensitivity of large systems, iterative methods, matrix norms and condition numbers, orthonormal bases and the Gram-Schmidt process, and spectral properties of linear operators. MATLAB will be used for coding throughout the course, although no previous experience is required. Students may not count both Mathematics 228 and Mathematics 229 for credit towards the Math major.
3425 DTSC-234-01 Differential Equations 1.00 LEC Skardal, Per Sebastian MWF: 12:00PM-12:50PM TBA NUM  
  Enrollment limited to 30 Waitlist available: Y Mode of Instruction: In Person  
    Cross-listing: MATH-234-01
  Prerequisite: C- or better in Mathematics 132.
  An introduction to the theory of ordinary differential equation and their applications. Topics will include analytical and qualitative methods for analyzing first-order differential equations, second-order differential equations, and systems of differential equations. Examples of analytical methods for finding solutions to differential equations include separation of variables, variation of parameters, and Laplace transforms. Examples of qualitative methods include equilibria, stability analysis, and bifurcation analysis, as well as phase portraits of both linear and nonlinear equations and systems. At the discretion of the Mathematics Department, section enrollments may be balanced.
3426 DTSC-237-01 Math of Finance 1.00 LEC Ma, Lina MWF: 10:00AM-10:50AM TBA NUM  
  Enrollment limited to 19 Waitlist available: Y Mode of Instruction: In Person  
    Cross-listing: MATH-237-01
  Prerequisite: C- or better in Mathematics 132.
  This is an introductory course on the mathematics of financial products, with a focus on options. The main topics include: mechanics and properties of options, option pricing in binomial models, the Black-Scholes model, stochastic process, and the "Greeks". Equal emphasis is placed on proofs of formulas and the application of those formulas to pricing financial derivatives. Prerequisite: C- or better in Mathematics 132 and 207, or permission of instructor
3427 DTSC-309-01 Numerical Analysis 1.00 LEC Churchill, Victor MWF: 10:00AM-10:50AM TBA Y NUM  
  Enrollment limited to 19 Waitlist available: Y Mode of Instruction: In Person  
    Cross-listing: MATH-309-01
  Prerequisite: C- or better in Computer Science 115, MATH 132, and any mathematics course numbered 200 or higher.
  Theory, development, and evaluation of algorithms for mathematical problem solving by computation. Topics will be chosen from the following: interpolation, function approximation, numerical integration and differentiation, numerical solution of nonlinear equations, systems of linear equations, and differential equations. Treatment of each topic will involve error analysis.
3419 DTSC-352-01 Artificial Intelligence 1.00 LEC Chakraborttii, Chandranil MW: 8:30AM-9:45AM TBA NUM  
  Enrollment limited to 24 Waitlist available: Y Mode of Instruction: In Person  
  Also cross-referenced with PSYC Cross-listing: CPSC-352-01
  Prerequisite: C- or better in Computer Science 215L and Computer Science 203 (or concurrent enrollment in 203).
  A study of basic principles and research methods in artificial intelligence. The course exposes students to selected topics in the field including pattern recognition, problem solving, theorem proving, knowledge representation, and natural language understanding by computers. The course will draw on recent advances made by cognitive scientists in each of these applications. Students are expected to study the theoretical background of an application. They will also complete several programming and simulation assignments during the semester.
3420 DTSC-372-01 Database Fundamentals 1.00 LEC Johnson, Jonathan TR: 10:50AM-12:05PM TBA NUM  
  Enrollment limited to 24 Waitlist available: Y Mode of Instruction: In Person  
    Cross-listing: CPSC-372-01
  Prerequisite: C- or better in Computer Science 215L and Computer Science 203 (or concurrent enrollment in 203).
  This course provides an introduction to the design and implementation of database systems. Topics include: the relational algebra and relational database models; SQL and other relational query languages; the implementation of database management systems, including indexing, concurrency control and transaction management.
3421 DTSC-415-01 Special Topics: AI Integration 1.00 LEC Kousen, Kenneth M: 1:30PM-4:10PM TBA NUM  
  Enrollment limited to 24 Waitlist available: Y Mode of Instruction: In Person  
    Cross-listing: CPSC-415-01
  Prerequisite: C- or better in Computer Science 215.
  Explore the integration of AI systems into software development, focusing on programmatic access to AI services. The course covers RESTful API interactions, local AI open-source models, and applications in chatbots, image generation, visualization, and audio/video creation. By blending theoretical foundations with implementation, the course equips students with the knowledge to leverage AI in modern software solutions.