CSE 114 Online - Syllabus - Summer 2018

Computer Science I - Procedural and object-oriented programming


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. (https://www.cs.stonybrook.edu/students/Undergraduate-Studies/courses/CSE114)

Online course
This online course provides the students with the flexibility and convenience of studying online for a course with very high demand in order to support timely degree completion and meet the student’s academic goal. The course is taught online, synchronously and asynchronously delivered, and provides all materials, labs, discussions, advising and contact with faculty online over the Internet. This course includes required online synchronous laboratory.

The students are required to go to Stony Brook University to take the course exams.

A successful online student should possess some specific qualities:

  • Strong self-discipline,
  • A high level of professional, personal, or educational motivation;
  • Good time management skills;
  • Ability to work and study independently without face to face interaction with faculty and classmates to complete the work;
  • Experience using computers and the Internet;
  • Access to a computer and the Internet to work many hours a week online;
  • Have already completed all the prerequisites;
Understand that an online course requires as many hours as an on-campus course – or more.


Prerequisites: Level 4 or higher on the math placement exam.
Advisory Prerequisite: CSE101 or ISE108.

Course Outcomes

The following are the official course goals agreed upon by the faculty for this course:
  • An ability to program in an object oriented language, using concepts such as object classes, encapsulation, inheritance, and polymorphism.
  • An ability to use fundamental data structures such as arrays.
  • An ability to program with sound code structure and use systematic software debugging and testing techniques.

Major Topics Covered in Course

  • Introduction to Objects in Java, using predefined objects (e.g. String)
  • Review of program control statements: conditionals and loops with an introduction to formal methods (preconditions, post conditions, loop invariant)
  • Writing more complex classes.
  • Arrays and the ArrayList class.
  • Inheritance and polymorphism in Java, simple examples, the Java class hierarchy.
  • Exceptions and File I/O.
  • Introduction to graphical user interface components.
  • Recursive programming, basic examples (factorial, Fibonacci numbers, Towers of Hanoi, etc...)
  • Documenting sources of code, effects of software piracy on business and individuals


Instructor: Dr. Paul Fodor
214 New Computer Science Department, Stony Brook University
Office hours: Tuesdays and Thursdays 3:30PM-5:00PM, online (on SBConnect).
Phone: 1 (631) 632-9820
Email: paul.fodor@stonybrook.edu

Class Time and Place (Summer 1 - Z Extended: May 29, 2018 - Jul 21, 2018) - Summer calendar: http://www.stonybrook.edu/summer-session/calendar/

  • CSE 114-01 Computer Science I (Lecture 1): TuTh 12:00PM - 3:25PM, online (synchronously on SBConnect, i.e., you can watch it while it is streaming, but it will be recorded and it can also be watched asynchronously, i.e., the lectures are recorded, so you can watch them later).
  • CSE 114-L01 Computer Science I (Laboratory): TuTh 3:30PM - 6:55PM, online (synchronously on SBConnect with teaching assistants, or you can do the labs asynchronously until the end of the day of the lab).

Exams (in person) at Stony Brook University


Introduction To Java Programming, Brief Version, Author: Daniel Liang, Publisher: Pearson , Edition: 11th, 2018. ISBN-13: 9780134756370 is the Student Value Edition for Introduction to Java Programming, Brief Version plus MyProgrammingLab. MyProgrammingLab.com is the online testing system that comes with the textbook and we will use it for online computer programming exercises executed in the laboratory and at home as part of the homework assignments. The book with ISBN-13 9780134756370 includes the subscription to MyProgrammingLab. Students who wish to purchase accss to MyProgrammingLab without the textbook may do so at a cost of approximately $43 by visiting the MyProgrammingLab.com website provided by the Pearson publisher of our textbook.

Grading Schema

Grades will be based on homework and exams according to the following formula:


There will be two exams. All exams will be closed-book and closed-notes. No access to electronic devices will be permitted during exams. Do not miss any exams. Make-up exams will be given only in extenuating circumstances (e.g., doctor's note stating that you were ill and unfit to take the exam). Students who miss an exam for a valid reason may need to take a make-up exam; specific arrangements will be made on a case-by-case basis.

The Pass/No Credit (P/NC) option is not available for this course.

This policy applies to all CSE/ISE undergraduate courses used to satisfy the graduation requirements for the major.

Grade Cutoffs

A [93-100], A- [90-93), B+ [87-90), B [83-87), B- [80-83), C+ [77-80), C [73-77), C- [70-73), D+ [65-70), D [60-65), F [0-60)

SPECIAL RULE: If all your grades, including homework assignments and your exam grades are above the respective class averages, you're guaranteed to receive a grade of C or higher for this class.

There will be extra credit problems as a part of homework assignments which values to an increase of less than 4% in the final grade.

The grades will be posted on Blackboard: http://blackboard.stonybrook.edu for privacy reasons.

Programming homework assignments

There will be regular programming assignments which must be submitted electronically on Blackboard (http://blackboard.stonybrook.edu) by the announced due date and time. All code must compile. Code that does not compile will not be graded. Assignments will be graded based on program performance and documentation. You may not submit any programming assignment late. Late programming work will not be graded. All program code that is submitted electronically must have the following information listed clearly in documentation (comments in your program code) at the beginning of each file: your name, the course (CSE 114), your section, the programming assignment number, the lab/recitation date and your section's graduate TA's name. There is also a programming project before the end of the semester.

Laboratory assignments

You will be given problems that require a programmed solution with a deadline and you must submit them in Blackboard or the textbook online programming system. The SBConnect teleconference system will also be available to contact the instructor and teaching assistants during the lab. At the end of the lab deadline, the instructor will assign grades of 0 - 3 as follows:


For re-grading of an assignment or exam, please meet with the person (instructor or teaching assistant) responsible for the grading. Please arrange a re-evaluation within one week of receiving the graded work. All such requests that are later than one week from the date the graded work is returned to the class will not be entertained. To promote consistency of grading, questions and concerns about grading should be addressed first to the TA and then, if that does not resolve the issue, to the instructor. You are welcome to contact the TA by email or come to his office hour. If you would like to speak with the TA in person, and have a schedule conflict with his office hour, you are welcome to make an appointment to meet the TA at another time.

Tentative Class Schedule

Week Lecture Topics
1 Introduction to Computers, Programming and Java, and Elementary Programming, Selections, Mathematical Functions, Characters, and Strings
2 Loops and Methods
3 Arrays and Multi-dimensional Arrays
4 Objects and Classes, Object-Oriented Thinking, and Inheritance and Polymorphism, and Exception Handling and Text I/O
5 Abstract Classes and Interfaces  
6 Recursion
7 JavaFX Basics, Event-Driven Programming
8 JavaFX UI Controls and Multimedia, Binary IO

Disability Support Services (DSS) Statement:

If you have a physical, psychological, medical or learning disability that may impact your course work, please contact Disability Support Services, ECC (Educational Communications Center) Building, room 128, (631) 632-6748. They will determine with you what accommodations, if any, are necessary and appropriate. All information and documentation is confidential.
Students who require assistance during emergency evacuation are encouraged to discuss their needs with their professors and Disability Support Services. For procedures and information go to the following website: http://www.stonybrook.edu/ehs/fire/disabilities

Academic Integrity Statement:

Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty are required to report any suspected instances of academic dishonesty to the Academic Judiciary. Faculty in the Health Sciences Center (School of Health Technology & Management, Nursing, Social Welfare, Dental Medicine) and School of Medicine are required to follow their school-specific procedures. For more comprehensive information on academic integrity, including categories of academic dishonesty, please refer to the academic judiciary website at http://www.stonybrook.edu/commcms/academic_integrity/index.html

Critical Incident Management Statement:

Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of Judicial Affairs any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn. Faculty in the HSC Schools and the School of Medicine are required to follow their school-specific procedures.

Page maintained by Paul Fodor