Introduction to Software Systems
I have posted a sample exam. This should give you some sense of the style and length of the exam you will sit at the end of this semester. We will discuss this in week 13.
Please make the most of PAL. It's a great way to keep on track with the course.
Please note the change in deadline for stage 6 of the assignment. It was moved forward following a discussion class, to allow everyone to attend our guest lectures.
Welcome to Introduction to Software Systems.
This course has three broad foci:
- core computer science, such as data structures, programming language fundamentals, complexity, as well as some history;
- software development skills, including learning the Java programming language, learning to use a distributed version control system and an integrated development environment;
- software engineering, including classic concepts in software engineering and exposure to curent practice.
The course is fast paced, particularly during the first four to five weeks. However, I hope that you find this course to be very rewarding. Each student who completes this course should walk away with a great sense of satisfaction in completing your project, having learned a lot, and having mastered a number of very important software development skills along the way.
It is very important that you understand how the course content will be delivered. First, the core content will be delivered ahead of time, pre-recorded, with follow-up questions. Second, during our allotted lecture times I will work thorugh the material, focusing heavily on problem solving and practical use of the tools you are expected to master. So, at each lecture you will have the opportunity to see concepts translated to practice in the same environment that you are expected to use. The live lectures will also be recorded and made available to you on this web page alongside the pre-recorded material.
It is up to you to make the most of the resources I am delivering to you. Above all, I highly recommend engaging with the material. Unless you do this, you will struggle. By far the best way to do it is to be an active participant in the lectures.
At the center of the course is a large group project, which you will complete in groups of three. The lecture and lab material is paced around ensuring you have the skills to complete the project on schedule.
In the second part of the semester, you will have the opportunity to meet and interact with a number of outstanding software practitioners. Most of these people are ANU Alumni. These people are working in a range of settings including professional development of open source software, key roles in internationally successful local software vendors, and in professional software engineering. Make the most of these opportunities.
You should find all course materials available from this web site.
A draft copy of the course's administrative overview is available here. This will be made final early in the semester.