CSE 114: Introduction to Object-Oriented Programming

Fall 2023 section 1

Instructor: Dr. Paul Fodor


Course Description

An introduction to procedural and object-oriented programming methodology. Topics include program structure, conditional and iterative programming, procedures, arrays and records, object classes, encapsulation, information hiding, inheritance, polymorphism, file I/O, and exceptions. Includes required laboratory. This course has been designated as a High Demand/Controlled Access (HD/CA) course. Students registering for HD/CA courses for the first time will have priority to do so. (https://www.cs.stonybrook.edu/students/Undergraduate-Studies/courses/CSE114)

See Syllabus here (or in the above menu).

YouTube channels for past semesters: https://youtube.com/playlist?list=PLRvJ_2dlxL9EIVcjN__ApbyXFiocOSbZM (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: Mondays and Wednesdays 9:30-11am on Google Meet only: https://meet.google.com/xyu-jhqc-bdx
Phone: (631) 632-9820
Email: paul.fodor@stonybrook.edu

Class Time and Place

  • Lecture section 1: TuTh 8:30AM - 9:50AM, Harriman Hall 137.
  • Lab section 1: MoWe 10:00AM - 11:20AM, Computer Science 2129.
  • Lab section 2: MoWe 2:30PM - 3:50PM, Computer Science 2129.
  • Lab section 3: MoWe 4:00PM - 5:20PM, Computer Science 2129.
  • Lab section 4: MoWe 5:30PM - 7:00PM, Computer Science 2129.

Lecture Notes and Reading Assignments

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

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

Page maintained by Paul Fodor