CSE 219 - Spring 2015 - Lecture Section 1

Computer Science III - Computer programming design, coding and testing


Course Information

Instructor: Dr. Paul Fodor
1437 Computer Science Department, Stony Brook University
Office hours: Tuesdays 10:00AM-11:30AM&Wednesdays 8:00AM-9:30AM
Phone: 1(631) 632-9820
Email: pfodor (at) cs (dot) stonybrook (dot) edu

Meeting Time and Place

Course Description

Development of the basic concepts and techniques learned in CSE 114 Computer Science I and CSE 214 Computer Science II into practical programming skills that include a systematic approach to program design, coding, testing, and debugging. Application of these skills to the construction of robust programs of 1000 to 2000 lines of source code. Use of programming environments and tools to aid in the software development process.

Prerequisites: C or higher in CSE 214 and CSE major or ECE major.

Course Syllabus

Lecture Notes and Reading Assignments

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

Week Date Lecture Topics/Notes Readings
1 Tu 1/27 Administrative (course information) , Software Development Lifecycle , Revision control introduction Read Head First OOAAD textbook Ch. 1
Th 1/29 Graphical User Interfaces Read JavaFX Ui Controls
2 Tu 2/3 Graphical User Interfaces (cont.) Read XML extras, XML Java examples, JSON Java examples and java.util.Properties examples
Th 2/5 Event Programming in JavaFX Read JavaFX Events, Lambda Expressions
3 Tu 2/10 Event Programming in JavaFX (cont.) n/a
Th 2/12 JavaFX Controls and Multimedia Read JavaFX Tables, JavaFX Canvas and Swing and HTML.
4 Tu 2/17 Threads & Timers Read Lesson: Concurrency
Th 2/19 Multithreading n/a
5 Tu 2/24 Binary IO n/a
Th 2/26 Properties of High Quality Software Read Head First OOAAD Ch. 1
6 Tu 3/3 OOP++ Read Core Java Chs 4-7 and OO Java Tutorial
Th 3/5 OOP++ (continued) Read Core Java Chs 12 & 13
7 Tu 3/10 Generics Read Core Java Ch. 11, Lesson: Generics, Trail: Collections, Graphs and HashMaps
Th 3/12 MIDTERM EXAM (during lecture time in classroom) See http://blackboard.stonybrook.edu
8 Th. 3/16-22 Spring Recess Stony Brook Calendar
9 Tu 3/24 OO Design using UML Read Head First OOAAD Chs. 5-8, UML tools
Th 3/26 OO Design using UML (cont.) n/a
Fr 3/27 CSE219 Hackathon, 8:30pm, in CS2120
10 Tu 3/31 Design Review n/a
Th 4/2 SDD Peer Reviews HW 4 due in lecture
11 Tu 4/7 Test Driven Development n/a
Th 4/9 Designing with Exceptions Read Head First OOAAD Chs. 5-8
12 Tu 4/14 Creational Design Patterns: Factory, Singleton, Builder and Prototype Read Head First Design Patterns Chs. 4, 5, & Appendix A
Th 4/16 Structural Design Patterns: Decorator, Adapter, Facade, Flyweight and Bridge Read Head First Design Patterns Chs. 3, 7, 9 & 11
13 Tu 4/21 Behavioral Design Patterns: Strategy, Template, Observer, Command, Iterator and State Read Head First Design Patterns Chs. 11-13
Th 4/23 Behavioral Design Patterns (cont.) Read Head First OOAAD Chs. 9 & 10
14 Tu 4/28 Code Profiling Read Introduction to Profiling Java Applications
Th 4/30 Annotations & Reflection Read The Java Tutorial Annotations & The Java Tutorial Reflection API
15 Tu 5/5 Code Style Conventions , Build Automation n/a
Th 5/7 Final Review see Blackboard
Project Mo 5/11 Final project grading appointments n/a
Final Tu 5/19 FINAL EXAM @ 8:30-10:30 PM in classroom (CS 2120) See Final Exams University Schedule

Grading Schema

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

Do not miss the exam. 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 P/NC grading option is not available for this course.

The assignments and grades are posted on Blackboard: http://blackboard.stonybrook.edu.


Information about the laboratory room is available at the Computer Science Windows Lab website.

This course will use the Java programming language (all code you submit for this course must compile and run under Java JDK 7). The programming environment for this semester will be the NetBeans IDE, last version, which includes a syntax-directed editor, run-time environment, debugger, unit tester, and additional software development tools. Go to the NetBeans download page to get your own free copy. All software will also be provided for you to use in the Computer Science Windows Lab.

Americans with Disabilities Act

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, room128, (631) 632-6748. They will determine with you what accommodations, if any, are necessary and appropriate. All information and documentation is confidential.

Academic Integrity

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 and 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/uaa/academicjudiciary .

Critical Incident Management

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