CSC207H1 (Summer 2016): Software Design


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

Contact Information and Regular Office Hours

Instructor Lecture Times Office Hours Email
Ilir Dema
L5101 R 18:00-20:00 R 16:00-18:00 (BA3289)

Special Office Hours

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.

Other References: Additional reading: