Resources
The following are some of the resources available to students of this course. If you feel at any point that you need additional assistance, please let us know!
Instructor
The instructor for this course is Zachary Palmer. My office hours are as follows:
Monday | 10:00 - 11:30 AM |
Tuesday | 1:30 - 3:00 PM |
Friday | 10:00 - 11:30 AM |
You can also contact me via e-mail (zachary --dot-- palmer --at-- swarthmore --dot-- edu
) to make an appointment or just ask a question. You’re even welcome to drop by anytime my door is open; I’ll help if I’m around and available. My office is Science Center 270.
Piazza
Our course has a Piazza forum where you can ask questions and discuss the course material. When posting public questions, please make sure to follow the Academic Integrity Policy: don’t give answers to homework in your public posts, for instance.
Textbooks
There are no required textbooks for the course. However, the following texts may be quite helpful to you as the semester proceeds.
- Code Complete: A Practical Handbook of Software Construction, Second Edition (McConnell). This is an excellent text containing much valuable knowledge and insights about software engineering. It was not originally intended as a textbook but makes for an excellent read. It’s possible to jump into the middle of the book in most places without reading cover to cover.
- Head First Object-Oriented Analysis and Design (Bates, Freeman, Robson, Sierra). This text is rather verbose and a bit hokey, but the content of the book is good and there are several fundamental topics of the course which are discussed in the book. Due to its verbosity and tendency for unnecessary clip-art, the book consumes a lot of paper. The eBook version is recommended.
- Head First Design Patterns (McLaughlin, Pollice, West). This is a companion text to the above which discusses design patterns in detail. While informative, it comes with the same disclaimer as the above: the eBook version is recommended.
- Refactoring: Improving the Design of Existing Code (Beck, Fowler). Martin Fowler’s book on refactoring set the standard in the field in the late 1990s. This text is rather dated, but its information about refactoring and design remains pertinent. Beware of the ancient Java style used in this text, though!
- Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, Helm, Johnson, Vlissides). The original book on design patterns by the “gang of four”, this is another standard-setting text. While somewhat dated, no modern compilation of design patterns has superseded it (beyond extended collections of patterns identified and available via e.g. Wikipedia).
Guides
There are a number of guides linked throughout the site. This is a comprehensive list of them.
-
Java Introduction: A reference designed for students who know Python or C++.
-
JavaFX: Examples for JavaFX usage and links to relevant resources.
-
Design and Coding Principles: Discussion and examples of the SOLID principles.
-
Refactoring: A brief discussion of refactoring.
-
Design Patterns: A description of several common design patterns.
Computer Lab
You can use your student ID card to gain access to the computer labs during the nights and on weekends. Just wave your ID over the card reader next to the lab doors. When the green light turns on, just push the door to get in (the knob will not turn). If you have problems getting in, visit Bridget in the department office or send her an e-mail (local-staff --at-- cs.swarthmore.edu
) to have your number added to the system. If the building is locked, you can use your ID to enter the door between Martin and Cornell library. For this class, you will have access to Science Center 238, 240, and 256 as well as Clothier 016.
Academic Accommodations
If you believe that you need accommodations for a disability, please contact the Office of Student Disability Services (Parrish 113W) or email studentdisabilityservices
at swarthmore.edu
to arrange an appointment to discuss your needs. As appropriate, the Office will issue students with documented disabilities a formal Accommodations Letter. Since accommodations require early planning and are not retroactive, please contact the Office of Student Disability Services as soon as possible. For details about the accommodations process, visit the Student Disability Service Website. You are also welcome to contact me [the faculty member] privately to discuss your academic needs. However, all disability-related accommodations must be arranged through the Office of Student Disability Services.