Semester 2, 2023 Springfield On-campus | |
Units : | 1 |
School or Department : | School of Mathematics, Physics & Computing |
Grading basis : | Graded |
Course fee schedule : | /current-students/administration/fees/fee-schedules |
Staffing
Course Coordinator: Mohammad Salahuddin
Requisites
Pre-requisite: CSC8740
Overview
While the World Wide Web itself remains of enormous importance both from a technological and a societal perspective, subsequent disruptive technologies such as mobile apps and platform independent software applications are also based substantially on the underlying concepts and techniques. This evolution means that software developers as well as other specialists need a thorough understanding of the main server-side technologies: HTTP, authentication, stateless server-side scripting, web APIs, asynchronous communication, and web application development frameworks. Full stack web application development integrates both client- and server-side technologies as well as many other technologies such as databases to support the creation of fully functional platform independent applications. As such this course provides an end-point for students wishing to build modern software, and provides skills to independently investigate other current and future frameworks.
This course investigates how stateless server-side programming integrates with web-based front ends to create modern interactive graphical user interface applications that run in browsers as well as on desktops and mobile devices. It covers server-side issues of web server interaction, authentication, use of web APIs, input validation and cleansing, and database integration. The course builds on prior programming experience with Javascript and basic experience with system administration. It requires students to work with modern Git workflows to support team collaboration.
Course learning outcomes
On completion of this course students should be able to:
- Apply core aspects of the technical foundations of the Web, including HTTP, to program web application functionality on the server side;
- Apply validation at the client and server side to create robust data entry interfaces;
- Implement authentication and session management, and consume web APIs, including REST, to extend application functionality;
- Apply programming techniques both at the client and the server side, creating dynamic, feature-complete, data-driven applications;
- Use advanced Git workflows to facilitate team collaboration.
Topics
Description | Weighting(%) | |
---|---|---|
1. | Stateless programming over HTTP | 10.00 |
2. | Server-side scripting languages and frameworks | 20.00 |
3. | Interactions between client and web server | 10.00 |
4. | Asynchronous communication | 10.00 |
5. | Input Validation and Security | 10.00 |
6. | Web data integration | 10.00 |
7. | REST and web APIs | 10.00 |
8. | Web and Desktop app development using web technology | 20.00 |
Text and materials required to be purchased or accessed
Student workload expectations
To do well in this subject, students are expected to commit approximately 10 hours per week including class contact hours, independent study, and all assessment tasks. If you are undertaking additional activities, which may include placements and residential schools, the weekly workload hours may vary.
Assessment details
Description | Group Assessment |
Weighting (%) | Course learning outcomes |
---|---|---|---|
Tech and/or scntific artefact 1 | No | 10 | 1 |
Tech and/or scntific artefact 2 | No | 20 | 2,3 |
Tech and/or scntific artefact 3 | Yes | 20 | 4,5 |
Report | Yes | 50 | 1,2,3,4,5 |