Note: This unit is an archived version! See Overview tab for delivered versions.

INFO1112: Computing 1B OS & Network Platforms (2018 - Semester 2)

Download UoS Outline

Unit: INFO1112: Computing 1B OS & Network Platforms (6 CP)
Mode: Normal-Day
On Offer: Yes
Level: Junior
Faculty/School: School of Computer Science
Unit Coordinator/s: Dr Gramoli, Vincent
Associate Professor Kummerfeld, Bob
Session options: Semester 2
Versions for this Unit:
Campus: Camperdown/Darlington
Pre-Requisites: None.
Co-Requisites: ELEC1601 AND (INFO1110 OR INFO1103 OR INFO1113). For most students, INFO1110 should have already been passed in semester 1.
Brief Handbook Description: The unit introduces principles and concepts of modern computer systems, including mobile computers and the Internet, to provide students with fundamental knowledge of the environments in which modern, networked applications operate. Students will have basic knowledge to understand how computers work and are aware of principles and concepts they are likely to encounter in their career. The unit covers:

*Principles of operating systems and the way applications interact with the OS, including the particularities of modern operating systems for mobile devices

*Principles of computer networking, including mobile networking

*Writing applications that use facilities of the OS and networking, including understanding the challenges that are common in distributed systems
Assumed Knowledge: None.
Lecturer/s: Associate Professor Kummerfeld, Bob
Timetable: INFO1112 Timetable
Time Commitment:
# Activity Name Hours per Week Sessions per Week Weeks per Semester
1 Lecture 2.00 1 13
2 Laboratory 2.00 1 13
3 Independent Study 6.00 13

Attributes listed here represent the key course goals (see Course Map tab) designated for this unit. The list below describes how these attributes are developed through practice in the unit. See Learning Outcomes and Assessment tabs for details of how these attributes are assessed.

Attribute Development Method Attribute Developed
Lectures, labs and assessments all extend students knowledge and skills of technical topics Engineering/IT Specialisation (Level 2)
In working in labs and assignment, students need to learn the details of using particular tools and APIs; this will require students to look these details up, in online resources Information Seeking (Level 2)
Writing a report Communication (Level 2)
Work in a small team, to complete tasks on time Project and Team Skills (Level 1)

For explanation of attributes and levels see Engineering & IT Graduate Outcomes Table 2018.

Learning outcomes are the key abilities and knowledge that will be assessed in this unit. They are listed according to the course goal supported by each. See Assessment Tab for details how each outcome is assessed.

Project and Team Skills (Level 1)
1. Manage their time and activities in a multi-week individual project
Communication (Level 2)
2. Produce clear written report
Information Seeking (Level 2)
3. Able to extend their knowledge, acquire new knowledge, and connect to conceptual frameworks in operating systems and networks and the impact on application development, without explicit instruction
Engineering/IT Specialisation (Level 2)
4. Understand basic functions that an operating system performs, and know the main subcomponents of the OS
5. Understand basic functions that networking performs, and know the most important layers/subcomponents in networking
6. Able to use essential system tools to monitor OS and network status
7. Understand additional concepts relevant for OS for server and for handhelds, including virtualization and containers
8. Experience with a number of different operating systems
9. Able to identify the interfaces at which users/applications can interact with the OS and the network, and identify where the OS function or network communication needs to be protected against unauthorized access
10. Understand major ideas used in internal implementation of OS and networks, such as caching, process structures, memory mapping, layering, reliable/unreliable transport, multiplexing, packet switching
11. Aware of some key algorithmic approaches that can be used in some subcomponents of OS and networking (eg routing, scheduling); also aware of alternative implementations in some cases, and of the tradeoffs involved
12. Able to write basic application functionality to interact with the operating system and the network, e.g. by opening and closing files, writing to disk, and sending application-layer data to remote applications
13. Aware of several major challenges that arise in distributed systems and mobile applications, e.g. failure tolerance and latency tolerance
Assessment Methods:
# Name Group Weight Due Week Outcomes
1 Quiz No 20.00 Multiple Weeks 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
2 Assignment No 20.00 Week 10 1, 2, 3, 6, 12,
3 Final exam No 60.00 Exam Period 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Assessment Description: In the assignment, students must write some application code that accesses system facilities, and obtain some relevant, system-level measurements.

Weekly quizzes in lab will provide on-going checks that students are keeping up with the conceptual and factual content that is being delivered in lectures; the score will be based on the best 10 quiz marks.
Grading:
Grade Type Description
Standards Based Assessment Final grades in this unit are awarded at levels of HD for High Distinction, DI (previously D) for Distinction, CR for Credit, PS (previously P) for Pass and FA (previously F) for Fail as defined by University of Sydney Assessment Policy. Details of the Assessment Policy are available on the Policies website at http://sydney.edu.au/policies . Standards for grades in individual assessment tasks and the summative method for obtaining a final mark in the unit will be set out in a marking guide supplied by the unit coordinator.
Minimum Pass Requirement It is a policy of the School of Computer Science that in order to pass this unit, a student must achieve at least 40% in the written examination. For subjects without a final exam, the 40% minimum requirement applies to the corresponding major assessment component specified by the lecturer. A student must also achieve an overall final mark of 50 or more. Any student not meeting these requirements may be given a maximum final mark of no more than 45 regardless of their average.

Note that the "Weeks" referred to in this Schedule are those of the official university semester calendar https://web.timetable.usyd.edu.au/calendar.jsp

Week Description
Week 1 Operating systems: Function, purpose, need, examples (Windows, Linux, Android, embedded).
Week 2 Main subcomponents of OS. Concepts: Resource allocation, scheduling.
Week 3 Kernel space, user space. Privileges. System calls. Observing status and measuring performance.
Week 4 Processes and threads (examples mapping to Windows, Linux); Memory management (Stack. Heap);
Week 5 OS for servers, virtualization
Week 6 Networks. Layering principle and protocols.
Week 7 Internetworking: TCP/IP.
Week 8 Application Layer protocols and Middleware.
Week 9 Caching: examples in different settings (both network and OS)
Week 10 Extensions and limitations in modern OS for handhelds (eg capabilities) and convergence of mobile and desktop operating systems.
Assessment Due: Assignment
Week 11 Challenges of distributed systems; overview of mobile applications and technologies.
Week 12 (spare for public holiday or future shorter semesters)
Week 13 Applying OS and network knowledge to mobile system development; Review of semester and exam.
Exam Period Assessment Due: Final exam

Course Relations

The following is a list of courses which have added this Unit to their structure.

Course Year(s) Offered
Advanced Computing / Science 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Advanced Computing / Science (Medical Science) 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Computational Data Science) 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Advanced Computing / Commerce 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Computational Data Science) - Mid-Year 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Computer Science) 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Cybersecurity) 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Computer Science) - Mid-Year 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Cybersecurity) - Mid-Year 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Information Systems) (not offered from 2022+) 2018, 2019, 2020, 2021
Bachelor of Advanced Computing (Software Development) 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Software Development) - Mid-Year 2021, 2022, 2023, 2024, 2025

Course Goals

This unit contributes to the achievement of the following course goals:

Attribute Practiced Assessed
Project and Team Skills (Level 1) Yes 4%
Communication (Level 2) Yes 4%
Information Seeking (Level 2) Yes 4%
Engineering/IT Specialisation (Level 2) Yes 88%

These goals are selected from Engineering & IT Graduate Outcomes Table 2018 which defines overall goals for courses where this unit is primarily offered. See Engineering & IT Graduate Outcomes Table 2018 for details of the attributes and levels to be developed in the course as a whole. Percentage figures alongside each course goal provide a rough indication of their relative weighting in assessment for this unit. Note that not all goals are necessarily part of assessment. Some may be more about practice activity. See Learning outcomes for details of what is assessed in relation to each goal and Assessment for details of how the outcome is assessed. See Attributes for details of practice provided for each goal.