University of Technology Sydney

31242 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 2024 is available in the Archives.

UTS: Information Technology: Computer Science
Credit points: 6 cp

Subject level:

Undergraduate

Result type: Grade and marks

Requisite(s): 31244 Applications Programming OR 31469 Object-oriented Design OR 48024 Programming 2
Anti-requisite(s): 31337 Advanced Internet Technologies AND 32549 Advanced Internet Programming

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, multi-tier 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. Compare and contrast competing web application architectures and list their advantages and disadvantages. (D.1)
5. Explain how transactions are used in web applications. (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)

Contribution to the development of graduate attributes

Engineers Australia Stage 1 Competencies

This subject contributes to the development of the following Engineers Australia Stage 1 Competencies:

  • 1.2. Conceptual understanding of the mathematics, numerical analysis, statistics, and computer and information sciences which underpin the engineering discipline.
  • 1.3. In-depth understanding of specialist bodies of knowledge within the engineering discipline.
  • 2.1. Application of established engineering methods to complex engineering problem solving.

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 and 3

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.