Welcome to the website for CITS3403 Agile Web Development. The Internet is continuing to grow, with a shift from the knowledge provision that typified the Web of the early 2000's, to highly interactive sites and user generated content. This has led not only to some remarkable business opportunities but also to profound changes in the way people relate to each other. This unit explores technologies, programming languages and environments that underpin development for the modern Internet. It builds on students' previous programming experience to develop and demonstrate technologies in action.
This unit will share material between CITS5505 and CITS3401, although there will be some differences in assessment and class. The handbook entry and general unit policies are all available from the online LMS and we will use MSTeams (CITS3403 and CITS5505) for discussion and class management.
Each student should attend (or view) the two hour lecture, complete a two hour lab and attend or view the workshop every week. Attendance will not be taken. Online labs will be conducted via MSTeams.
|Combined Lecture||1:00 - 3:00 pm||Wednesdays||Alexander Lecture Theatre|
|Combined Workshop||9:00-10:00am||Fridays||Murdoch Lecture Theatre|
|CITS5505 Lab||2:00-4:00pm||Mondays||CSSE Lab 2.05|
|CITS3403 Lab||4:00-6:00pm||Wednesdays||CSSE Lab 2.05|
|CIT3403 Lab||2:00-4:00pm||Thursdays||CSSE Lab 2.03|
|CIT3403 Lab||2:00-4:00pm||Fridays||CSSE Lab 2.01|
|Consultation||11:00am-12:00pm||Wednesdays||CSSE Rm 2.14|
The assessment for CITS3403 consists of a mid-semester test, a group project and a 2 hour formal examination.
The assessment for CITS5505 consists of an individual project, a group project and a 2 hour formal examination.
PDF files of the individual lectures will be made available from here as the semester progresses, as well as the files used for demonstrations. Lecture recordings are also available via LMS
The Lab Exercises will be available on Fridays of the week before the scheduled lab.
(Wed ALEX, 1-2pm)
(Wed ALEX 2-3pm)
(Murdoch Fri 9am)
|1||Feb 22||Introduction||HTML||Dev Environment||Visual Studio Code.|
|2||Mar 1||CSS||Bootstrap ||Getting Started, and HTML5||CSS & Bootstrap|
|5||Mar 22||JQuery||AJAX||Document Object Model||Midsemester Test|
|6||Mar 29||Agile Development||GIT||AJAX||Good Friday
|Non Teaching Study Break|
|7||Apr 12||Flask Web Development
||Server Side Rendering||Git Basics||Using GIT 5505 project due|
|8||Apr 19|| MVC Architecture
||Object Relational Model||First Flask App||Setting up Flask|
|9||Apil 26||Authentication||Testing||Adding a Database||Adding a DB|
|10||May 3||REST APIs||REST APIs||Testing||Testing|
|11||May 10||Client Side Rendering||Sockets||Deploying to Heroku||SPAs|
|Going to Production||Future of the web||Project demos||Revision|
Due 5pm, April 1, 2021 5pm, April 12, 2021
This project is worth 20% of your final grade and must be done individually. It is for CITS5505 students only.
The project description, instructions and marking scheme is available here.
Due 6pm, May 17, 2021
This project is worth 30% of your final grade in the unit must be done in groups of two to four for CITS3403 students. For CITS5505 students, it should be done in pairs.
A Marking Criterion is now available
For this project you are required to build an online formative assessment. That is, you should write a web application that simulates a learning experience like a laboratory, and applies some assessment and feedback at the end. The application should be written using HTML, CSS, Flask, AJAX, JQuery, and Bootstrap. The application should allow uses to register, progress through a series of activities saving their progress, complete an assessment at the end, and receive meaningful feedback on their performance. The context of the questions and the type of assessment mechanism is up to you.
Example contexts you could use are:
Think carefully about the design of the application. It should be:
In addition to the web application, you should create a private GitHub project that includes a readme describing:
Group Registration is now available.
Find a partner(s) with (ideally with common interests) and come up with a theme for your application. Discuss styling, how the application is likely to be used, and precisely what functaionality it should offer.
The second part of the project criteria is the back end functionality of web application. The web application should be implmented using Flask (any additional libraries/modules require unit coordinator approval), and provide at least the following functionality:
Students should submit a complete Flask application providing the functionality of the project. This should be submitted as a zip including
pip freeze > requirements.txtwhile your virtual environment is active.
The Marking Criterion will be available by the midsemester break.
The Midterm test will be held in week 5 and is worth 10% of your final grade. It is for CITS3403 students only.
Past midterm tests are available for practice:
The following three references have been used previously in mid-semester tests, and maybe useful to include in your open book material. They will also be provided with the final exam, so it is worth getting familiar with the format of each reference.
The test will be available on LMS, and all students must commence the test between 9.00am and 9.30am on Friday, March 26, unless special permission has been granted to complete the test at a different time.
The test will be open book. Students may have any printed materials with them during the test, or have electronic documents open prior to the test. Students may not use internet search, IDEs or any other electronic aids in the test. All typing must be in the LMS test window.
Students may not communicate with one another or receive any external help during the test. Students may complete the test in the workshop venue if they wish. They should bring a laptop to do the test.
If students lose internet connection or power during the test, they should attempt to restart the test as soon as possible (progress is autosaved), and send the unit-coordinator a note to explain what happenned at the end of the test.
The test will consist of 3 multiple choice questions (1 mark each), 1 short essay question (3 marks), and 1 coding question (4 marks, and accurate syntax is not required). Questions will be randomised, but will all have similar levels of difficulty. Students will have 30 minutes to complete all questions.
The questions will be on material from the lectures and labs in the first four weeks (including any readings specified in the labs). You could be asked for example to define concepts, explain the rationale behind them or the history of how they came about, discuss the issues involved or the decisions made and provide advantages and disadvantages of alternatives. You could also be asked to write some code.
Your answers do not need to use lengthy prose. You may use bullet points when relevant.
Details of the examination topics and structure will be discussed during Week 13's review lecture.
The following three references will be printed out for everyone of you as references. You DO NOT need to print it yourself. Just get familiar with the format of each reference.
There are a number of excellent online resources and textbooks for the subjects covered in this unit. For the lectures and lab exercises, we may refer to the books:
Note that here are sufficient resources for your study available online. These include: