Welcome to the course webpage for the Summer 2016 term of CSC207H1, Software Design, at St. George campus. One major goal of this course is to introduce you to large-scale software design and development concepts and to tools that become useful as you work on projects in teams. We will discuss effective team behaviours and communication skills, practice agile methods for designing software, and use tools such as a fully-featured IDE and a version control system. The other primary goal of this course is to help you practice how to learn a new language. We will compare salient features of Python and Java, expecting you to fill in details outside of class, and will investigate Java's memory model, scoping facilities, and object-oriented structures in depth.
To do this week
- Last lecture tonight Aug 4. Topics: Floating point + Review.
- The marking scheme for the release demo is available on the project page.
- Exercise 3 marks have been posted online. In order to understand your grade, please read this first.
- Important - please make sure to submit the doc folder in phase III! Checkout project page for details!
- Please check out phase II functionality report (file name report.txt) posted in FinalProject in your repo.
- The test data and the graph used for testing has been published in the project page (under Phase II stuff).
- Please make sure to load updated API for phase III (modified Saturday 9:31pm)
- More office hours have been added for next few weeks
- Some practice exercises have been posted on the tests page.
Contact Information and Regular Office Hours
|Instructor||Lecture Times||Office Hours|
|Ilir Dema ||L5101 R 18:00-20:00||R 16:00-18:00 (BA3289)|
Special Office Hours
|Wed, July 27 14:00-16:00 (BA3289)|
|Wed, Aug 3 14:00-16:00 (BA3289)|
|Wed, Aug 10 14:00-18:00 (BA3289)|
Textbook and References
There is no required textbook for this course. Instead, the relevant course notes will be posted online (in this website and on portal as well).
However, if you wish to own a good book on object-oriented software design, you may find the
following book useful:
Barbara Liskov, John Guttag. Program Development in Java: Abstraction, Specification, and Object-oriented Design, Addison-Wesley, 2001.
- Oracle Java documentation web site
- Version Control with Subversion: available here.
- Unix in 10 minutes: here.
- In the beginning ... was the command line.
- E.W.Dijkstra: The threats to computing science
- The best book on Agile: The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity (2nd Edition)