CSE 160: Computer Science A: Honors

(Procedural and object-oriented programming)

Spring 2023

Instructor: Dr. Paul Fodor


Course Description

First part of a two-semester sequence, CSE 160 and CSE 260. An introduction to procedural and object-oriented programming methodology and basic data structures. Topics include program structure, conditional and iterative programming, procedures, arrays, object classes, encapsulation, information hiding, inheritance, polymorphism, file I/O, exceptions and simple data structures, such as lists, queues and stacks. (https://www.cs.stonybrook.edu/students/Undergraduate-Studies/courses/CSE160)
See Syllabus here.

YouTube channel for past semesters: https://www.youtube.com/playlist?list=PLRvJ_2dlxL9F4AR-FIOt5hWLoeI4PEfa7 (Spring 2021), https://www.youtube.com/playlist?list=PLRvJ_2dlxL9ECXq1DQyABaCjHOUlpXl00 (Summer 2018), https://youtube.com/@stonybrookcs , https://www.youtube.com/@stonybrookcs/playlists


Instructor: Dr. Paul Fodor
214 New Computer Science Department, Stony Brook University
Office hours: Tuesdays and Thursdays 8:30-10am on Google Meet only: https://meet.google.com/xyu-jhqc-bdx
Phone: (631) 632-9820
Email: paul.fodor@stonybrook.edu

Class Time and Place

  • CSE 160 Computer Science A: Honors (Lecture): MoWe 8:30AM - 9:50AM, Computer Science 2120.
  • CSE 161 Laboratory for Computer Science A: Honors: MoWe 10:30AM - 11:50AM, Computer Science 2120.

Lecture Notes and Reading Assignments

The following schedule is tentative and subject to change. The homework assignments and labs are posted on Blackboard: http://blackboard.stonybrook.edu

Week Date Lecture Topics/Notes Readings
1 Mon. 1/23 Administrative (course information) n/a
Wed. 1/25 Introduction to Computers, Programs, and Java Read Liang ch. 1
2 Mon. 1/30 Introduction to Computers, Programs, and Java (cont.) n/a
Wed. 2/1 Elementary Programming Read Liang ch. 2
3 Mon. 2/6 Elementary Programming (cont.) n/a
Wed. 2/8 Selections Read Liang ch. 3
4 Mon. 2/13 Mathematical Functions, Characters, and Strings Read Liang ch. 4
Wed. 2/15 Loops Read Liang ch.5
5 Mon. 2/20 Methods Read Liang ch. 6
Wed. 2/22 Arrays Read Liang ch. 7
6 Mon. 2/27 Arrays (cont.) n/a
Wed. 3/1 Multidimensional Arrays Read Liang ch. 8
7 Mon. 3/6 Midterm 1 review n/a
Wed. 3/8 MIDTERM EXAM 1: closed book in-person exam, during class time (80 minutes) n/a
8 Mon. 3/13 Spring Recess See Calendars
9 Mon. 3/20 Multidimensional Arrays (cont.) n/a
Wed. 3/22 Objects and Classes Read Liang ch. 9, Enumerated Types
10 Mon. 3/27 Object-Oriented Thinking Read Liang ch. 10
Wed. 3/29 Inheritance and Polymorphism Read Liang ch. 11
11 Mon. 4/3 Inheritance and Polymorphism (cont.) n/a
Wed. 4/5 Exception Handling and Text I/O Read Liang ch. 12
12 Mon. 4/10 Abstract Classes and Interfaces Read Liang ch. 13
Wed. 4/12 Abstract Classes and Interfaces (cont.) n/a
13 Mon. 4/17 Midterm 2 review n/a
Wed. 4/19 MIDTERM EXAM 2: closed book in-person exam, during class time (80 minutes) n/a
14 Mon. 4/24 Recursion Read Liang ch. 18
Wed. 4/26 Recursion n/a
15 Mon. 5/1 Recursion n/a
Wed. 5/3 Optional (if time permits): JavaFX Basics, Event-Driven Programming, JavaFX UI Controls and Multimedia, Binary IO Read Liang chs. 14, 15, 16 and 17
Final exam   FINAL EXAM: Wednesday, May 17, 2023, closed book in-person exam, 8:00-10:00am (120 minutes) n/a

Page maintained by Paul Fodor