CSE 160: Computer Science A: Honors

(Procedural and object-oriented programming)

Spring 2024

Instructor: Dr. Paul Fodor

http://www.cs.stonybrook.edu/~cse160


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 (or in the above menu).


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

Staff

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


Class Time and Place

  • CSE 160 (50401): Computer Science A: Honors (Lecture): TuTh 10:00AM - 11:20AM, Computer Science 2120.
  • CSE 161 (51379): Laboratory for Computer Science A: Honors: TuTh 11:30AM - 12:50PM, 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 Brightspace: http://Brightspace.stonybrook.edu

Week Date Lecture Topics/Notes Readings
1 Tu. 1/23 Administrative (course information) n/a
Th. 1/25 Introduction to Computers, Programs, and Java Read Liang ch. 1
2 Tu. 1/30 Introduction to Computers, Programs, and Java (cont.) n/a
Th. 2/1 Elementary Programming Read Liang ch. 2
3 Tu. 2/6 Elementary Programming (cont.) n/a
Th. 2/8 Selections Read Liang ch. 3
4 Tu. 2/13 Mathematical Functions, Characters, and Strings Read Liang ch. 4
Th. 2/15 Loops Read Liang ch.5
5 Tu. 2/20 Methods Read Liang ch. 6
Th. 2/22 Arrays Read Liang ch. 7
6 Tu. 2/27 Arrays (cont.) n/a
Th. 2/29 Multidimensional Arrays Read Liang ch. 8
7 Tu. 3/5 Midterm 1 review n/a
Th. 3/7 MIDTERM EXAM 1: closed book in-person exam, in classroom, during class time (80 minutes) n/a
8 Tu. 3/12 Spring recess (no class) n/a
9 Tu. 3/19 Objects and Classes Read Liang ch. 10
Th. 3/21 Object and Classes (cont.) n/a
10 Tu. 3/26 Object-Oriented Thinking Read Liang ch. 11
Th. 3/28 Inheritance and Polymorphism n/a
11 Tu. 4/2 Inheritance and Polymorphism (cont.) Read Liang ch. 12
Th. 4/4 Exception Handling and Text I/O Read Liang ch. 13
12 Tu. 4/9 Midterm 2 review n/a
Th. 4/11 MIDTERM EXAM 2: closed book in-person exam, in classroom, during class time (80 minutes) n/a
13 Tu. 4/16 Abstract Classes and Interfaces Read Liang ch. 13
Th. 4/18 Abstract Classes and Interfaces (cont.) n/a
14 Tu. 4/23 Abstract Classes and Interfaces (cont.) n/a
Th. 4/25 Recursion Read Liang ch. 18
15 Tu. 4/30 Recursion n/a
Th. 5/2 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: Tuesday, May 7, 2024, closed book in-person exam, in classroom, 8:00-10:00 AM (120 minutes) n/a

Page maintained by Paul Fodor