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

Course Listing for COMPUTER SCIENCE - Fall 2022 (ALL: 09/06/2022 - 12/21/2022)
Class
No.
Course ID Title Credits Type Instructor(s) Days:Times Location Permission
Required
Dist Qtr
1006 CPSC-115-01 Introduction to Computing 1.25 LEC Islam, Maminur MWF: 10:00AM-10:50AM TBA NUM  
  Enrollment limited to 40 Waitlist available: Y Mode of Instruction: In Person  
  Prerequisite: C- or better in Computer Science 110 or mathematics skills appropriate for enrolling in a calculus class.
  NOTE: 19 seats reserved for first-year students, 18 seats for sophomores and 3 seats for HMTCA students.
  A fundamental treatment of computer science topics featuring the study of the high-level programming language Python. Topics discussed will include computer architecture, programming languages, and ethical issues involved in computer use. Problem-solving techniques involved in writing programs will be studied, proper style and documentation will be required, and object-oriented program design will be introduced. A required weekly lab will involve an intensive study of programming techniques in Python.
1007 CPSC-115-20 Introduction to Computing 1.25 LAB Islam, Maminur T: 1:30PM-4:10PM TBA NUM  
  Enrollment limited to 20 Waitlist available: Y Mode of Instruction: In Person  
  Prerequisite: C- or better in Computer Science 110 or mathematics skills appropriate for enrolling in a calculus class.
  A fundamental treatment of computer science topics featuring the study of the high-level programming language Python. Topics discussed will include computer architecture, programming languages, and ethical issues involved in computer use. Problem-solving techniques involved in writing programs will be studied, proper style and documentation will be required, and object-oriented program design will be introduced. A required weekly lab will involve an intensive study of programming techniques in Python.
1008 CPSC-115-21 Introduction to Computing 1.25 LAB Islam, Maminur W: 1:30PM-4:10PM TBA NUM  
  Enrollment limited to 20 Waitlist available: Y Mode of Instruction: In Person  
  Prerequisite: C- or better in Computer Science 110 or mathematics skills appropriate for enrolling in a calculus class.
  A fundamental treatment of computer science topics featuring the study of the high-level programming language Python. Topics discussed will include computer architecture, programming languages, and ethical issues involved in computer use. Problem-solving techniques involved in writing programs will be studied, proper style and documentation will be required, and object-oriented program design will be introduced. A required weekly lab will involve an intensive study of programming techniques in Python.
2856 CPSC-215-01 Data Structures & Algorithms 1.25 LEC Wang, Cuiyuan MWF: 9:00AM-9:50AM TBA NUM  
  Enrollment limited to 24 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.
2857 CPSC-215-20 Data Structures & Algorithms 1.25 LAB Wang, Cuiyuan 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 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.
2858 CPSC-215-21 Data Structures & Algorithms 1.25 LAB Islam, Maminur F: 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 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.
1563 CPSC-275-01 Intro to Computer Systems 1.25 LEC Chakraborttii, Chandranil MWF: 9:00AM-9:50AM TBA NUM  
  Enrollment limited to 36 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.
1564 CPSC-275-20 Intro to Computer Systems 1.25 LAB Chakraborttii, Chandranil M: 1:30PM-4:10PM TBA NUM  
  Enrollment limited to 18 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.
2208 CPSC-275-21 Intro to Computer Systems 1.25 LAB Chakraborttii, Chandranil T: 1:30PM-4:10PM TBA NUM  
  Enrollment limited to 18 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.
3086 CPSC-340-01 Software Engineering 1.00 LEC Spezialetti, Madalene W: 6:30PM-9:00PM TBA NUM  
  Enrollment limited to 24 Waitlist available: N Mode of Instruction: In Person  
  Prerequisite: C- or better in Computer Science 215L and Computer Science 203 (or concurrent enrollment in 203).
  The study of issues involved in developing large-scale software systems. Topics covered include software life cycle, system design and specification, advanced programming concepts, and techniques for software testing, debugging, and maintenance. The issues studied will be applied to team projects.
3087 CPSC-385-01 Computer Security 1.00 LEC Syta, Ewa TR: 10:50AM-12:05PM 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.
1453 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.
1009 CPSC-403-01 Computer Science Seminar 0.50 SEM Chakraborttii, Chandranil T: 9:25AM-10:40AM TBA WEB  
  Enrollment limited to 24 Waitlist available: N Mode of Instruction: In Person  
  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.
3357 CPSC-415-01 Spec Top: Building Cloud Nat 1.00 LEC Johnson, Jonathan R: 1:30PM-4:10PM TBA NUM  
  Enrollment limited to 24 Waitlist available: N Mode of Instruction: In Person  
  Prerequisite: C- or better in Computer Science 215.
  Your applications will be running in the cloud with a variety of vendors offering commodity computing services. Understanding how to design and build applications for the cloud is significant in your computer science journey. We'll begin with understanding what cloud native means and the scope of topics in the ecosystem. Then, we'll dive into some specific tools and techniques for developing distributed applications. The hands-on labs will include building a modularized application using containers, microservices, and Kubernetes. Upon completion, you'll understand a breadth of key topics that demystify the development of applications for the cloud.
1529 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)
1524 CPSC-498-01 Senior Project Part 1 1.00 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, available in the Registrar's Office, and the approval of the instructor and chairperson are required for each semester of this year-long project. The course credits are considered pending in the first semester and will be awarded upon completion of the second semester.