Introduction to Software Systems COMP6710
Course overview
Assumed knowledge & required skills
The equivalent in programming background to the undergraduate courses COMP1100 or COMP1730
Course description
This course introduces students to the tools and techniques for developing software systems of a size and quality of an industrially relevant nature. The course teaches the fundamental strategies of abstraction, decomposition and reuse as methods for constructing such systems. Verification and validation techniques, with an emphasis on testing, are taught as a means to ensure that students are able to deliver software products of the quality required.
In particular, the course will cover: recursive data structures and algorithms; structured data types, abstract data types and their applications; object-oriented programming; and software life-cycle. The course will also introduce some of the theoretical fundamentals that underpins software engineering, including: reasoning about software and its application to specifications, and verification and validation
Textbooks
Cay Horstmann,, Big Java, Wiley, 4th Edition, 2010
Workload
Thirty one-hour lectures and nine two-hour tutorial/laboratory sessions.


