Course-Info
Course Info
Official course outline. See sidebar (on right) for many details.
Getting Extra Help
Some great ways to get extra help are:
- Piazza discussion forum
Check out classmate's questions and answers. Answer someone else's question, or ask your own. You can even post anonymously! Link in sidebar. Will also be used to communicate with your project's "customer". Note: Piazza is hosted outside of Canada; it is mandatory to use in this course, but you are welcome to sign up with a disposable email address and fake name. - Office Hours
Instructor and TA(s) have office hours. TA office hours are great for getting technical help. TA may not know details of the technologies you are using, but will be able to help you find good resources, work through a tutorial, or understand what you need to do to positively contribute to the project. Instructor's office hours are great for discussing lecture material, and group or personal concerns. Details in sidebar (right). - Email
Less efficient than Piazza, but private. Good for private questions about grades or extension requests. Please include course number email's subject line.
See sidebar for email addresses of instructor and TAs.
Grading
Note: These percentages have been adjusted from what was posted on the course outline.
- Project (60%) - Marked based on individual performances; groups assigned by instructor.
- Quizzes (20%) - Quizzes will be done online. Questions draw on lecture content and reading material; largely focus on material covered since previous quiz. Done during class time. Quizzes are likely mainly multiple choice but some written questions possible.
- Reading Responses (12%)
- Exercises (8%)
There is no final exam. Since much weight is put on the practical aspects, and these marks tend to be higher than average, it is expected that the breakpoints for different letter grades will be higher than some other courses.
Academic Honesty
- The MOSS tool may be used to check the originality of all electronic submissions.
- SFU's Academic Honesty policy is crucial to earning credit in this course. Violations of the policy will be taken seriously and reported to the department and university.
- Explanation of penalties I apply for academic dishonesty.
Late Policy (Exercises and Readings): 5% penalty per calendar day; max 3 days late. Contact the instructor if there are extenuating circumstances. No ability to submit project work or quizzes late without special permission from instructor.
Extensions and Deferrals: Email Dr. Brian with your request. You may need to complete and email SFU Academic Concession Self-Declaration Form. Doctor's notes are usually not required. Extensions only considered for circumstances beyond the student's control; plan to submit assignments on time.
Textbooks
- Required
- Clean Code, Robert C Martin, Prentice Hall, 2009, 9780132350884. Required readings assigned from this book. SFU Library has physical copies and e-book
- Reference Books
- Code Complete, 2nd Edition, Steve McConnell, Microsoft Press, 2004, 9780735619678. e-book
- Head first design patterns, Freeman and Freeman, O'Reilly, 2004, 9780596007126. e-book
- Patterns in Java (Volume 1), Mark Grand, Wiley, 2002, 9780471227298.
- Refactoring, Martin Fowler, 1999 online catalog; off site
- The Mythical Man Month, Frederick P. Brooks Jr., 1995.
- The Pragmatic Programmer, Andrew Hunt, 1999. e-book
- Working Effectively with Legacy Code, Michael Feathers, 2004.