CSE 114: Introduction to Object-Oriented Programming

Spring 2023 section 2

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.

YouTube channel 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: 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

  • Lecture section 2: TuTh 4:45PM - 6:05PM, Light Engineering 102.
  • Lab section 7: MoWe 8:30AM - 9:50AM, Computer Science 2114.
  • Lab section 8: MoWe 10:30AM - 11:50AM, Computer Science 2114.
  • Lab section 9: MoWe 4:25PM - 5:45PM, Computer Science 2114.
  • Lab section 10: MoWe 6:05PM - 7:25PM, Computer Science 2114.

Lecture Notes and Reading Assignments

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

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

Page maintained by Paul Fodor