|Office||Parmly Hall 406|
M/W/F 1:25-2:20 Science 214
This course introduces the concepts, tools, and techniques used in software development. Topics include
Classroom work will consist of lecture and discussion. Written work will consist of several team-based programming projects, homework exercises that employ tools used in software development, and a comprehensive final exam.
After taking this course, you should be able to
The book listed below are required. All but the first are available to W&L students via Safari Books. We will have additional readings from journal articles and books on reserve in the Science Library.
Horstmann Object-Oriented Design and Patterns, Second Edition $59.30 (Amazon) Horstmann Core Java for the Impatient, 1st Edition Safari Books Horstmann Core Java Volume I — Fundamentals,10th Edition Safari Books Bell and Beer Introducing GitHub: A Non-Technical Guide, 2nd edition Safari Books Beck JUnit Pocket Guide: Quick Look-up and Advice Safari Books Burnette Eclipse IDE Pocket Guide: Using the Full-Featured IDE Safari Books
The written work for the course will consist of
Programming projects, homework exercises, and exams should be written individually. Deliberate concealment of sources constitutes plagiarism and will result in a failing grade for the course and a report to the EC. Please familiarize yourself with W&L’s policy on plagiarism at http://library.wlu.edu/research/ref/cite_plag.asp.
The final exam for this course will be given during the final exam week. You can take this exam during any of the regularly scheduled exam periods that week. You must supply an exam envelope to the instructor or the department administrative assistant no later than noon on the last day of class. You must specify a provisional day and time on the envelope, which you are free to change on the clipboard provided outside the door of Parmly 407 any time that week. Email or phone requests to reschedule will not be accepted.
The exam will be given in Parmly 405, and you should arrive promptly before the appointed time. If you are more than 15 minutes late, you will have to reschedule your exam. If you are more than 15 minutes late to the last exam period on Friday afternoon, you will receive a grade of 0 on your exam.
Students who have approved academic accommodations must make arrangements to use those accommodations directly with the instructor no later than the last day of class. Students approved for extra time will receive that time at the tail end of the morning exam period or before the beginning of the afternoon exam period (for example, ending at 1:30 PM for a morning exam or beginning at 12:30 PM for an afternoon exam). Students approved for a low-distraction testing location should reserve that space during the last week of classes (following instructions distributed by Director of Disability Resources Lauren Kozak.
Washington and Lee University makes reasonable academic accommodations for qualified students with disabilities. All undergraduate accommodations must be approved through the Office of the Dean of the College. Students requesting accommodations for this course should present an official accommodation letter within the first two weeks of the (fall or winter) term and schedule a meeting outside of class time to discuss accommodations. It is the student’s responsibility to present this paperwork in a timely fashion and to follow up about accommodation arrangements. Accommodations for test-taking should be arranged with the professor at least a week before the date of the test or exam.
Basic Java syntax and semantics
|Sept 11||I/O and numbers||
Primitive and reference types
Equality and comparisons
Strings and arrays
Classes and methods
Preconditions, postconditions, exceptions, and javadoc
GUIs with BreezySwing
Collections and interfaces
|Sept 25||File processing||Inheritance and composition||Abstract classes |
GUIs with Swing and AWT
Numeric I/O and handing errors with dialogs
Loading images from files
On to Eclipse!
Design patterns: iterator, composite, and decorator
The strategy pattern: comparisons and layouts
The strategy pattern: map, filter, and reduce
The adapter pattern
|Specializing by subclassing||
The proxy pattern
|The singleton pattern I||The singleton pattern II|
|Nov 6||The singleton pattern II||
|Refactoring and extreme programming|
Refactoring and extreme programming
|Paul Graham essays||Paul Graham essays|
|Nov 27||Project presentations||Project presentations||
|Dec 4||Project presentations||
Video recordings of lectures (Tegrity site)
1-I/O and Numbers
2-Equality, Comparisons, Types, Strings, and Arrays
3-Java Classes and Methods
4-Error Handling, Exceptions, and Documentation
6-Easy GUIs with BreezySwing
7-Collections and Interfaces
9-Inheritance and Composition
12-GUIs, Model View Controller, and Layouts
13-Graphics and GUIs
14-Numeric Input, Error Handling, and Standard Popup Dialogs
15-Displaying Images from Files
16-On to Eclipse!
17-Design Patterns: Iterator, Composite, and Decorator
18-The Strategy Pattern: Comparisons and Layouts
19-The Strategy Pattern: Map, Filter, and Reduce
20-The Adapter Pattern
21-Specializing by Subclassing
22-The Proxy Pattern
23-The Singleton Pattern: Introduction
24-The Singleton Pattern and Recursive Data
Java for Python Programmers
Java at Oracle's Web Site
Java 8 Documentation
Paul Graham's Web Site
Working With jar Files
Further Readings in Software Development
Eclipse Web Site
ArgoUML - A Free UML Authoring Tool
JUnit Web Site
Hillside's Patterns Page
PageTutor's ColorPicker 3