cse5wdc web development on the cloud

WEB DEVELOPMENT ON THE CLOUD

CSE5WDC

2017

Credit points: 15

Subject outline

Creating web sites that scale to serve hundreds of millions of users with acceptable response times is a very challenging task. The main focus of this subject is on cloud computing concepts and tools that are needed to make web sites scalable. This subject assumes no prior knowledge in web development and therefore will cover the basics in both client side and server side web programming. Specifically, the subject will cover topics such as javascript, the React framework, nodejs, fundamental cloud computing concepts, tools for automatic scaling of web sites, stateless web servers, web application programming, noSQL stores, continuous delivery, container technologies, model-view-controller, software architectural patterns, version control, etc.

SchoolSchool Engineering&Mathematical Sciences

Credit points15

Subject Co-ordinatorZhen He

Available to Study Abroad StudentsYes

Subject year levelYear Level 5 - Masters

Exchange StudentsYes

Subject particulars

Subject rules

Prerequisites CSE4DBF and CSE4IOO

Co-requisitesN/A

Incompatible subjectsN/A

Equivalent subjectsN/A

Special conditionsN/A

Learning resources

Readings

Resource TypeTitleResource RequirementAuthor and YearPublisher
Discipline SpecificSams Teach Yourself JavaScript in 24 HoursRecommendedOhil Ballard, 2015SAMS
Discipline SpecificIntroduction to ReactRecommendedCory Gackenheimer, 2015APress

Graduate capabilities & intended learning outcomes

01. Ability to design and build a stateless web server based on cloud technologies.

Activities:
The lectures will teach students the importance of stateless web servers. It will also teach students how to build a stateless web server. Students will build stateless web servers in both the labs and assignment.
Related graduate capabilities and elements:
Inquiry and Analytical Skills(Critical Thinking,Creative Problem-solving,Inquiry/Research)
Inquiry and Analytical Skills(Critical Thinking,Creative Problem-solving,Inquiry/Research)
Inquiry and Analytical Skills(Critical Thinking,Creative Problem-solving,Inquiry/Research)
Discipline -Specific Knowledge and Skills(Discipline-Specific Knowledge and Skills)

02. Ability to use modern software engineering tools to build and deploy robust code for scalable web sites

Activities:
The lectures will teach students modern code deployment technologies such as continuous delivery, versioning, and container technologies in order to write and deploy robust code. Students will practice these skills in labs and the assignment.
Related graduate capabilities and elements:
Inquiry and Analytical Skills(Critical Thinking,Creative Problem-solving,Inquiry/Research)
Inquiry and Analytical Skills(Critical Thinking,Creative Problem-solving,Inquiry/Research)
Inquiry and Analytical Skills(Critical Thinking,Creative Problem-solving,Inquiry/Research)
Discipline -Specific Knowledge and Skills(Discipline-Specific Knowledge and Skills)

03. Identify the best storage technologies to use when building a particular given web site.

Activities:
The lectures will teach the students the tradeoff between the different storage technologies such as relational databases and noSQL stores. Students will learn how to use these storage technologies in labs and will apply the skills learnt in their assignment.
Related graduate capabilities and elements:
Inquiry and Analytical Skills(Critical Thinking,Creative Problem-solving,Inquiry/Research)
Inquiry and Analytical Skills(Critical Thinking,Creative Problem-solving,Inquiry/Research)
Inquiry and Analytical Skills(Critical Thinking,Creative Problem-solving,Inquiry/Research)
Discipline -Specific Knowledge and Skills(Discipline-Specific Knowledge and Skills)

04. Identify the best cloud based web services to use to build a given scalable web site.

Activities:
Various cloud based web services will be taught in the lectures. Students will experience using these services in the labs.
Related graduate capabilities and elements:
Inquiry and Analytical Skills(Critical Thinking,Creative Problem-solving,Inquiry/Research)
Inquiry and Analytical Skills(Critical Thinking,Creative Problem-solving,Inquiry/Research)
Inquiry and Analytical Skills(Critical Thinking,Creative Problem-solving,Inquiry/Research)
Discipline -Specific Knowledge and Skills(Discipline-Specific Knowledge and Skills)

05. Ability to critically analyse the scalability of a given cloud based web solution to a web problem and suggest options to make the solution more scalable.

Activities:
In the lectures students will learn the different tradeoffs of various different cloud based web technologies. Students will apply some of this knowledge inside lab classes.
Related graduate capabilities and elements:
Inquiry and Analytical Skills(Critical Thinking,Creative Problem-solving,Inquiry/Research)
Inquiry and Analytical Skills(Critical Thinking,Creative Problem-solving,Inquiry/Research)
Inquiry and Analytical Skills(Critical Thinking,Creative Problem-solving,Inquiry/Research)
Discipline -Specific Knowledge and Skills(Discipline-Specific Knowledge and Skills)

Subject options

Select to view your study options…

Start date between: and    Key dates

Melbourne, 2017, Semester 2, Day

Overview

Online enrolmentYes

Maximum enrolment sizeN/A

Enrolment information

Subject Instance Co-ordinatorZhen He

Class requirements

Laboratory ClassWeek: 31 - 43
One 2.0 hours laboratory class per week on weekdays during the day from week 31 to week 43 and delivered via face-to-face.

LectureWeek: 31 - 43
One 2.0 hours lecture per week on weekdays during the day from week 31 to week 43 and delivered via face-to-face.

Assessments

Assessment elementComments%ILO*
10 Laboratory Reports (equivalent to 1000 words)Each lab will include programming tasks which students need to complete. The completed tasks will be marked by the lab demonstrator.1001, 02, 03, 04, 05
One programming assignment (equivalent to 2500 words)3001, 02, 03, 04
One 3-hour examinationHurdle requirement: To pass the subject, a pass in the examination is mandatory.6001, 02, 04, 05