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

Course Listing for COMPUTER SCIENCE - Spring 2022 (ALL: 01/27/2022 - 05/16/2022)
Class
No.
Course ID Title Credits Type Instructor(s) Days:Times Location Permission
Required
Dist Qtr
1423 CPSC-110-01 Computing with Mobile Phones 1.00 LEC Wang, Cuiyuan MWF: 9:00AM-9:50AM TBA NUM  
  Enrollment limited to 24 Waitlist available: Y Mode of Instruction: In Person  
  NOTE: 14 seats reserved for first-year students
  NOTE: Not open to students who have completed CPSC 215L
  App Inventor for Android is a new open source programming language for Android smart phones. App Inventor is a visual language that enables novice programmers to create powerful mobile applications that interact with the web and with other phones. In this course, students will learn how to access the world of mobile services and applications as creators, not just consumers. They will learn to create entertaining and socially useful apps that can be shared with friends and family. In addition to learning to program and how to become better problem solvers, students will also explore the exciting world of computer science from the perspective of mobile computing and its increasingly important effect on society.
1029 CPSC-115-01 Introduction to Computing 1.25 LEC Spezialetti, Madalene TR: 10:50AM-12:05PM 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: 24 seats are reserved for first-year 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.
1033 CPSC-115-20 Introduction to Computing 1.25 LAB Spezialetti, Madalene 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.
1034 CPSC-115-21 Introduction to Computing 1.25 LAB Spezialetti, Madalene W: 1:15PM-3:55PM 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.
3046 CPSC-203-01 Math Foundatns of Comput 1.00 LEC Wang, Cuiyuan MWF: 12:00PM-12:50PM TBA NUM  
  Enrollment limited to 24 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.
  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.
1030 CPSC-215-01 Data Structures & Algorithms 1.25 LEC Syta, Ewa MWF: 10:00AM-10:50AM TBA NUM  
  Enrollment limited to 24 Waitlist available: Y Mode of Instruction: In Person  
  Prerequisite: C- or better in Computer Science 115L.
  NOTE: 12 seats reserved for first year students, 12 seats reserved for sophomores
  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.
1032 CPSC-215-20 Data Structures & Algorithms 1.25 LAB Syta, Ewa W: 1:15PM-3:55PM 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.
1419 CPSC-215-21 Data Structures & Algorithms 1.25 LAB Syta, Ewa 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.
2932 CPSC-315-01 Systems Software 1.00 LEC Islam, Maminur TR: 8:00AM-9:15AM 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.
2933 CPSC-320-01 Analysis of Algorithms 1.00 LEC Wang, Cuiyuan 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 215L and Computer Science 203 (or concurrent enrollment in 203).
  A continuation of the study begun in Computer Science 215 of the complexity of algorithms used in computing. The notions of P, NP, and NP-complete problems and of non-computability will be covered. The algorithms studied will include examples involving sorting, graphs, geometry, and combinatorics. Theoretical aspects of algorithms will be studied as well as practical aspects useful in writing programs.
3058 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  
  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.
1177 CPSC-399-01 Independent Study 0.50 - 1.00 IND TBA TBA TBA Y NAT  
  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.
1031 CPSC-404-01 Computer Science Seminar 0.50 SEM Yoon, Peter M: 2:40PM-3:55PM TBA WEB  
  Enrollment limited to 19 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.
3059 CPSC-415-01 Special Topics: Data Vis 1.00 LEC Islam, Maminur 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 215.
  Data visualization is an essential skill required in today's data-driven world and helps us to use our perception to better understand the data. In the data visualization course, we will mainly focus on understanding and extending the current state of the art in data visualization, we will explore the process of data visualization that includes data modeling, data processing(such as aggregation and filtering), mapping between data and graphical attributes and use of several data visualization software and frameworks such as D3.js, seaborn, Power BI, and Tableau.
1178 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 in the Registrar's Office, and the approval of the instructor and chairperson are required for enrollment.
1179 CPSC-499-01 Senior Project Part 2 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 adviser 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.