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
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.
|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|
|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|
Grades will be based on homework and exams according to the following formula:
- Homework and class quizzes -- 30%
- Class project -- 20%
- Midterm exams -- 25%
- Final exam -- 25%
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.