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)
Prerequisites: Level 4 or higher on the math placement exam.
Advisory Prerequisite: CSE101 or ISE108.
SBC: TECH
4 credits
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.
Instructor: Dr. Paul Fodor
214 New Computer Science Department, Stony Brook University
Office hours: Mondays and Wednesdays 5-6:30PM on Google Meet only: https://meet.google.com/xyu-jhqc-bdx
Phone: 1 (631) 632-9820
Email: paul.fodor@stonybrook.edu
Optional: Introduction To Java Programming, Comprehensive Version, Author: Daniel Liang, Publisher: Pearson , Edition: 11th, 2017.
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 [95-100], A- [90-95), 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, quizzes, recitation and your three 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 quizzes and 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.
The final grade you receive in this class will reflect, as far as possible, the extent to which you have mastered the concepts and their applications. How much someone needs a grade, or how close they are to the next higher grade, will have no effect on grade. As the instructor, I want everyone to do well in this course, and will make every reasonable effort to help you understand the material taught. However, the grades provided at the end of the semester are final, except for rare situations involving grading errors. They will not be altered for any reason, so please do not ask me to do so.
There will be two cumulative midterm exams and a cumulative final exam. All exams will be closed-book and closed-notes. The exams will be administerred using Respondus LockDown Browser with Monitoring. 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 need to take a make-up exam; specific arrangements will be made on a case-by-case basis.
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 160), your section (1), the programming assignment number and the date of the assignment. The assignments are valued different anount of points depending on the difficulty of the programming problems. All assignments problems will be summed up and the percentage of earned points from the total assignment points will be factored in the assignment points in the total points in the grading schema.
Notes on grading programming assignments:
You will be given problems that require a programmed solution during lab day. TAs will assign grades of 0 - 3 as follows:
Week | Lecture Topics |
---|---|
1 | Introduction to Computers, Programming and Java, Elementary Programming, Selections |
2 | Mathematical Functions, Characters, and Strings, Loops |
3 | Methods, Arrays |
4 | Multi-dimensional Arrays |
5 | Objects and Classes, Object-Oriented Thinking |
6 | Inheritance and Polymorphism |
7 | Exception Handling and Text I/O, Abstract Classes and Interfaces |
8 | Recursion |
The Piazza discussion board should be used for all communication with the teaching staff for questions about the course assignments and material. Piazza is a forum for additional learning and assistance. The following are not appropriate uses of Piazza:
Therefore, you are expected to use the Piazza forum for all non-personal, course-related communication. Questions about what a homework problem is asking, technical problems that need troubleshooting, or other questions that might be of interest to other students must be posted to Piazza and not emailed to the instructor or a TA. If Piazza is used inappropriately it will be closed/removed for you. We will not tolerate cyber-bullying. Anonymous posting is turned off, so we can see who you are. Improper conduct will be reported to the Dean of Students Office.
If you have a private matter to discuss, when emailing your instructor about the course, use the following guidelines to ensure a timely response:
If you have a physical, psychological, medical or learning disability that may impact your course work, please contact Student Accessibility Support Center, 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 Student Accessibility Support Center. For procedures and information go to the following website:http://www.stonybrook.edu/ehs/fire/disabilities.
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 is 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 athttp://www.stonybrook.edu/commcms/academic_integrity/index.html
Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of University Community Standards 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. Further information about most academic matters can be found in the Undergraduate Bulletin, the Undergraduate Class Schedule, and the Faculty-Employee Handbook.