32549 Advanced Internet Programming
Warning: The information on this page is indicative. The subject outline for a
particular session, location and mode of offering is the authoritative source
of all information about the subject for that offering. Required texts, recommended texts and references in particular are likely to change. Students will be provided with a subject outline once they enrol in the subject.
Subject handbook information prior to 2025 is available in the Archives.
Credit points: 6 cp
Subject level:
Postgraduate
Result type: Grade and marksRequisite(s): 32516 Internet Programming
These requisites may not apply to students in certain courses. See access conditions.
Description
In this subject students create sophisticated web applications for deployment to production. The subject provides knowledge and skills in advanced internet technologies particularly related to server-side internet programming and business-to-business systems. It covers topics relevant to advanced internet programming including web development stacks, n-tier architectures, standards, transactions, security, dependency injection, layering, web-service integration, and deployment.
The subject is run as a simulation of a technology-based startup or an in-house software development project. Students create a prototype for a simple idea. Throughout the session, students iteratively improve their prototype and apply the subject content to ensure that their prototype is secure, reliable, maintainable, well-designed and can handle real-world customers. Hands-on laboratory exercises and group activities give students practice in internet programming and develop their ability to problem-solve, collaborate and develop communication skills. Outside class, students are required to engage in self-directed learning and with their professional community.
Subject learning objectives (SLOs)
Upon successful completion of this subject students should be able to:
1. | Design and implement a medium sized web application incorporating multiple data sources, transaction integrity, data and application security. (C.1) |
---|---|
2. | Describe at a conceptual level, multitier and distributed web applications, and the components and technologies used to build such applications. (D.1) |
3. | Describe the features of a web based application system that provides scalability, robustness, high availability and security. (D.1) |
4. | Explain how transactions are used in web applications. (D.1) |
5. | Compare and contrast competing web application architectures and list their advantages and disadvantages (D.1) |
Course intended learning outcomes (CILOs)
This subject also contributes specifically to the development of the following Course Intended Learning Outcomes (CILOs):
- Design Oriented: FEIT graduates apply problem solving, design and decision-making methodologies to develop components, systems and processes to meet specified requirements. (C.1)
- Technically Proficient: FEIT graduates apply abstraction, mathematics and discipline fundamentals, software, tools and techniques to evaluate, implement and operate systems. (D.1)
Teaching and learning strategies
There is a one-hour collaborative lecture and a two-hour laboratory session each week.
Preparation for the laboratory session includes expected participation in the collaborative lecture in addition to preparatory tasks such as programming challenges and independent research activities. The preparation may also include online readings or videos. Further independent study is also expected.
The lecture is designed to provide:
1. A technical discussion and reflective analysis of the weekly themes. Prior preparation is important for involvement in this discussion.
This is followed by two-hour laboratory sessions that normally comprise:
2. Technical demonstration and exercises. The technology demonstrations and exercises in the laboratory sessions are designed to test understanding of the subject material and develop the understanding, skills and behaviours needed to succeed in the assignments. Students will be working alone and in small groups during the exercises.
3. An open-ended support session. The tutor is available assist with any difficulties encountered during the exercises or other matters relevant to the subject, as well as providing feedback on progress. This time may also be used to answer questions about the assessment tasks.
The laboratory sessions are designed to create opportunities for self-assessment, feedback and guidance in class. Students are expected to incorporate their experiences in the laboratory sessions into their reflections and analysis for Assessment 1.
The subject discussion board may be used for ongoing discussion outside of the classroom.
Content (topics)
Topics covered include:
• Web development stacks
• Front-end frameworks
• Web services
• Layered design
• Databases and database access layers
• Security
• Transactions
• RESTful web services
• System architectures
• Deployment to production
• Scalability
• Asynchrony and Messaging
• Emerging Trends
Assessment
Assessment task 1: Portfolio of Reflection and Analysis
Objective(s): | This assessment task addresses the following subject learning objectives (SLOs): 1, 2, 3, 4 and 5 This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs): C.1 and D.1 |
---|---|
Type: | Portfolio |
Groupwork: | Individual |
Weight: | 60% |
Assessment task 2: Advanced Internet Project
Objective(s): | This assessment task addresses the following subject learning objectives (SLOs): 1, 2, 3 and 5 This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs): C.1 and D.1 |
---|---|
Type: | Project |
Groupwork: | Group, group and individually assessed |
Weight: | 40% |
Minimum requirements
In order to pass the subject, a student must achieve an overall mark of 50% or more.
Required texts
There is no set textbook for this subject.
Recommended texts
Fowler, M. (2003). Patterns of Enterprise Application Architecture. Addison-Wesley.
Crockford, D. (2008). JavaScript: The Good Parts. O'Reilly Media.
Ejsmont, A. (2015). Web Scalability for Startup Engineers. McGraw-Hill.