BN231 - Software Development Skills and Tools

Credit Points: 15 credit points

Workload: 48 hours

Prerequisite: BN111 Programming Fundamentals

Co-requisite: N/A

Aims & Objectives

This is a third trimester core unit out of a total of 24 units in the Bachelor of Networking with Major in Software Engineering (BNet (SE)). This unit addresses the BNet (SE) learning outcomes and complements other courses in a related field by developing students’ knowledge and skills in object-oriented programming. For further course information refer to: http://www.mit.edu.au/study-with-us/programs/bachelor-networking. This unit is part of the AQF Level 7 (BNet(SE)) course.

This unit introduces students to the principles of object-oriented design (OOD) and object-oriented programming (OOP) methodologies in developing contemporary software applications. The students will learn various important elements in OOD including objects and classes, inheritance and polymorphism, exception handling and logging. The students will be able to apply their skills and knowledge in OOD and OOP to meet the business computing requirements.

This unit will cover the following topics:

  • Principles of object-oriented design and programming
    • Objects and Classes
    • Inheritance and Polymorphism
    • Interfaces, Lambda Expressions, and Inner Classes
    • Exception Handling and Logging
  • Generic Programming
  • Graphical User Interface Programming
  • Programming in algorithms and data structures
  • Concurrency

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
At the completion of this unit students should be able to:
a. Demonstrate the skills and knowledge in object-oriented programming (OOP) in solving a contemporary industry problem.
b. Design and develop an OOP solution to solve a complex industry problem using appropriate tools and platforms.
c. Implement, deploy, and troubleshoot OOP solution in an ICT application with sound knowledge of programming tools and technologies.
d. Evaluate and recommend appropriate OOP solutions to solve business problems with good understanding of industry best practices and technological landscapes.
e. Communicate and contribute to a professional software development team with good understanding of teamwork and best ethical practices.

Weekly Topics

The following table lists the topics and other activities in the unit week-by-week during the trimester. It is a guide only and there may be variations in order to accommodate any special needs of the class, public holidays or other circumstances.

Week Topic
1 Principles of object-oriented design
2 Principles of object-oriented programming (OOP)
3 Software specification and documentation
4 Software verification and version control
5 Objects and Classes
6 Inheritance and Polymorphism
7 Interfaces, Lambda Expressions, and Inner Classes
8 Exception Handling and Logging
9 Generic (template) programming with static polymorphism
10 Data structures and algorithms (searching and sorting)
11 Data structures and algorithms (basic graphs algorithm)
12 Graphical user interface

Assessment

Assessment Task Due Date A B Learning Outcomes Assessed
Formative Assignment 1 Week 3 (10/04/2022) 5% - a
In-Class Test Week 7 (05/05/2022) - 10% a-c
Assignment 2 Week 11 (03/06/2022) 25% - a-e
Laboratory participation & submission Week 2 – 11 10% - a-e
Final Examination (2 hours) End of trimester - 50% a-e
TOTALS 50% 50%  

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 (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:

  •   Horstmann, Cay S., Core Java Volume I—Fundamentals, Pearson Education, 2018.

 

References:

  •      Cutajar, J., Beginning Java Data Structures and Algorithms, Packt Publishing, July 2018.

  •   Schildt, Herbert, Java: The Complete Reference, Eleventh Edition, McGraw-Hill, Dec 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

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.