MN404 - Fundamentals of Operating Systems and Programming

Credit Points: 20 credit points

Workload: 60 hours

Prerequisite: N/A

Co-requisite: N/A

Aims & Objectives

This is a core unit out of a total of 6 units in the Graduate Diploma of Networking (GDNet) and 12 units in Master of Networking (MNet) in the non-cognate stream. This unit addresses the GDNet and MNet course learning outcomes and complements other courses in a related field by developing students’ specialised knowledge in network fundamentals data and information management. For further course information refer to: and This unit is part of the AQF level 8 (GDNet) and AQF level 9 (MNet) courses.

This unit introduces students to the fundamentals of operating systems and problem-solving through object-oriented programming. 

The topics covered are:

  • Role of Operating Systems, introduction to different subsystems of an Operating System
  • Unix/Linux operating system as a case study 
  • Abstraction and problem-solving through programming
  • Python application development environment
  • Data types, variables and operators
  • Methods and conditional operators
  • Control structures: sequence, repetition and selection
  • Classes and Objects
  • Introduction to Graphical User Interface (GUI) programming 
  • Application design and testing

Learning Outcomes

4.1 Course Learning Outcomes
The Course learning outcomes applicable to this unit are listed on the Melbourne Institute of Technology’s website: 

4.2 Unit Learning Outcomes
On successful completion of this unit, students should be able to:
a. Describe the role of Operating Systems (OS) and its different subsystems in controlling computer hardware
b. Demonstrate competency in the use of a command line interface to operate and perform simple OS administration 
c. Apply principles of abstraction and problem solving in an object-oriented programming language
d. Apply knowledge of programming constructs in developing computer programs 
e. Create programs based on incremental development processes of designing, coding, testing and debugging.

Weekly Topics

This unit will cover the content below:

Week # Lecture Topic Laboratory Topics
1 Lecture 1 Introduction to OS Laboratory 1 Introduction
2 Lecture 2 Type and popular OS Laboratory 2 OS
3 Lecture 3 File Systems and OS installation Laboratory 3 Unix Operating System Basic Commands
4 Lecture 4 Introduction to Programming Laboratory 4 Introduction to Python
5 Lecture 5 Software development - Data types Expressions In-Class Test
6 Lecture 6 Loops and selection statements Laboratory 6 Python basic
7 Lecture 7 Strings Text files and Lists Laboratory 7 Data types and Expressions
8 Lecture 8 List and Dictionaries Laboratory 8 Variables and Loops
9 Lecture 9 Functions Laboratory 9 for Loops and Nested for Loops
10 Lecture 10 Introduction to Simple graphics and GUI Laboratory 10 Static Methods
11 Lecture 11 Design with Classes Laboratory 11 Classes
12 Review Review


Assessment Task Due Date Release Date A B Learning Outcomes Assessed
Formative Assignment 1 Week 3 (10/4/2022) Week 1 5%   a
In-class test (On Campus, Face to Face) Week 5 (22/4/2022)     10% a-b
Assignment 2 Group Week 11 (5/6/2022) Week 6 25%   c-e
Class participation & contribution Week 2-11 (10/6/2022) Week 2-11 10%   a-e
Final Examination (3 hours)       50% a-e
TOTALS     40% 60%  

Task Type: Type A: unsupervised, Type B: supervised.

Class Participation and Contribution
This unit has class participation and student contribution as an assessment. The assessment task and marking rubric will follow the Guidelines on Assessing Class Participation ( Further details will be provided in the assessment specification on the type of assessment tasks and the marking rubrics.

Textbook and Reference Materials


  • K Lambert, Fundamentals of Python First Programs, 2nd Edition, Cengage Learning, 2018
  • A. McHoes, Understanding Operating Systems, 8th Edition, Cengage Learning, 2018


  • G. Tomsho, Guide to Operating Systems. 5th ed., U.S.A.: Cengage Learning, 2016.
  • J. Holcombe, Survey of Operating Systems, U.S.A.: McGraw-Hill Education, 2019
  • S. Reges, M. Stepp, Building Python Programs: A Back to Basics Approach. 4th ed., Australia: Pearson, 2017
  • Langtangen, Hans, A Primer on Scientific Programming with PYTHON, 5th Ed., Springer, 2018

Adopted Reference Style: IEEE

Graduate Attributes

MIT is committed to ensure the course is current, practical and relevant so that graduates are “work ready” and equipped for life-long learning. In order to accomplish this, the MIT Graduate Attributes identify the required knowledge, skills and attributes that prepare students for the industry.
The level to which Graduate Attributes covered in this unit are as follows:

Ability to communicate Independent and Lifelong Learning Ethics Analytical and Problem Solving Cultural and Global Awareness Team work Specialist knowledge of a field of study


Levels of attainment Extent covered
The attribute is covered by theory and practice, and addressed by assessed activities in which the students always play an active role, e.g. workshops, lab submissions, assignments, demonstrations, tests, examinations.
The attribute is covered by theory or practice, and addressed by assessed activities in which the students mostly play an active role, e.g. discussions, reading, intepreting documents, tests, examinations.
The attribute is discussed in theory or practice; it is addressed by assessed activities in which the students may play an active role, e.g. lectures and discussions, reading, interpretation, workshops, presentations.
The attribute is presented as a side issue in theory or practice; it is not specifically assessed, but it is addressed by activities such as lectures or tutorials.
The attribute is not considered, there is no theory or practice or activities associated with this attribute.