BN111 - Programming Fundamentals
Credit points: 15 credit points
Workload: 48 hours
Prerequisite: N/A
Co-requisite: N/A
Aims & objectives
This is a second trimester core unit out of a total of 24 units in the Bachelor of Networking (BNet) and Bachelor of Engineering Technology (Telecommunications) (BEngTech(Tel)). This unit addresses the BNet and BEngTech(Tel) course learning outcomes and complements other courses in a related field by developing students’ knowledge and skills in programming. For further course information refer to: http://www.mit.edu.au/study-with-us/programs/bachelor-networking and http://www.mit.edu.au/study-with-us/programs/bachelor-engineering-technology-telecommunications. This unit is part of the AQF Level 7 (BNet and BEngTech(Tel)) courses.
This unit introduces students to the fundamental techniques involved in programming using an object-oriented approach. Students are introduced to the basics of object-oriented design and concepts and to object-oriented techniques for reusable components in developing complex software.
Specifically, this unit covers: classes; objects; data encapsulation techniques. This unit also gives students an opportunity to learn different roles and responsibilities for becoming a class user and class designer.
The topics covered in Programming for Networking are:
- Introduction to classes and objects
- Data types, Operators
- Control structures: sequence, repetition and selection
- Application programming interface (API)
- 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: www.mit.edu.au
4.2 Unit Learning Outcomes
On successful completion of this unit, students should be able to:
a. Describe the fundamental principles of object-oriented programming;
b. Interpret a user’s needs while dealing with simple program specifications;
c. Design a simple class using UML notation;
d. Create a simple application based on UML design and the incremental development process of coding, debugging, and testing;
e. Apply basic control structures – sequence, repetition, and selection – to program development;
f. Produce simple interactive applications.
Weekly Topics
Week # | Lecture Topic | Laboratory/Tutorial Topics |
---|---|---|
1 | Lecture 1 – Introduction, Data Types | Laboratory 1 – Introduction, Assignment 1 released |
2 | Lecture 2 - Expressions and Operations | Laboratory 2 - Python Basics |
3 | Lecture 3 - Advanced Data Types: Collection Data Types and Operations | Laboratory 3 - Data types and Expressions, Assignment 1 Part A demo |
4 | Lecture 4 - Conditional Execution: If/else, Loops, Nested Loops | Laboratory 4 - Advanced Data Types |
5 | Lecture 5 - Text Processing, Functions | Laboratory 5 - for Loops and Nested for Loops |
6 | Lecture 6 – Files and Debugging | Laboratory 6 - Functions |
7 | Lecture 7 - Classes | Laboratory 7 – Nested Functions, Assignment 1 Part B demo, Assignment 2 released |
8 | Lecture 8 – Objects Oriented Programming, UML | Laboratory 8 - Classes |
9 | Lecture 9 – Classes: Methods, Relationships and Class Diagrams | Laboratory 9 - Objects, Strings and Inputs |
10 | Lecture 10 – Encapsulation, Object Persistence | Laboratory 10 - Objects and Methods |
11 | Lecture 11 – GUI | Laboratory 11 – GUI, Assignment 2 demo |
12 | Unit review. Revision of concepts, sample examination. | Review |
Assessment
Assessment Task | Due Date | A | B | Learning Outcomes Assessed |
---|---|---|---|---|
Formative Assignment 1 | Week 3 (08/04/2022) | 5% | - | a |
In-Class Test | Week 7 (06/05/2022) | - | 15% | b-c |
Assignment 2 | Week 11 (03/06/2022) | 35% | - | a-f |
Laboratory participation & submission | Week 2 – 11 | 10% | - | a-f |
Final Examination (2 hours) | End of trimester | - | 35% | a-f |
TOTALS | 50% | 50% |
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 (https://www.mit.edu.au/about-us/governance/institute-rules-policies-and-plans/policies-procedures-and-guidelines/Guidelines_on_Assessing_Class_Participation). Further details will be provided in the assessment specification on the type of assessment tasks and the marking rubrics.
Presentations (if applicable)
For presentations conducted in class, students are required to wear business attire.
Textbook and reference materials
Textbook:
- G. S, Veena A, Introduction to Python Programming, CRC Press, 2018.
References:
- Eric Matthes, “ Python Crash Course“., 2nd Edition, No Starch Press, 2019
- Allen Downey, “Think Python”. 2nd Edition, O'Reilly Media, Inc., 2015
- Mark Lutz, “Learning Python: Powerful Object-Oriented Programming”. 5th Edition, O'Reilly Media, Inc. 2013.
- Kenneth A. Lambert, The Fundamentals of Python: First Programs, 2nd ed., Cengage Learning, 2011.
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 |
---|---|---|---|---|---|---|
Legend
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. |