Software Development module (AC51002)

This introductory module will provide you with the basic skills required to design and develop software through an understanding of fundamental programming concepts

Credits
20
Module code
AC51002
Level
5
Semester
Semester 1
Semester 2
School
School of Science and Engineering
Discipline
Computing

This introductory module will provide you with the basic skills required to design and develop software through an understanding of fundamental programming concepts. You will also learn to apply these concepts to interesting, realistic problems. Programs will be written using Python. This is a powerful, versatile, and widely used computer programming language.

What you will learn

In this module, you will:

  •  build the foundational skills to design and develop software
  • learn about fundamental programming concepts such as algorithms, data types, variables, control structures, and functions
  • learn about object-oriented programming concepts such as objects, classes, and inheritance
  • learn how to work with data structures in your programs and data from files on disk
  • learn how to use software development tools and packages

By the end of the module you will be able to:

  •  demonstrate a strong understanding of software development fundamentals
  • design and implement software programs to a given specification
  • demonstrate an ability to use software development tools and packages
  • understand the core concepts of object-oriented programming and its benefits
  • build upon valuable experience in software development that will enable you to tackle more advanced concepts in the future

Assignments / assessment

  •  Software Program 1 (20%)
  • Software Program 2 (40%)
  • Class Test (40%)

Teaching methods / timetable

You will learn by taking a hands-on approach. Lectures and/or lecture videos will introduce the main concepts to you. You will explore these concepts further during tutorials and/or practical lab sessions. Coursework assignments will be used to consolidate and demonstrate your learning. A Class Test will be used to assess final aspects of your learning for the theoretical and practical elements of the course.

Week Topics Covered
1 Introduction to programming and your first program in Python
2 Variables and data types
3 Control structures, e.g., loops and conditional statements
4 Functions
5 File input/output
6 Object-oriented programming
7 More on object-oriented programming with inheritance, polymorphism and encapsulation
8 Standard Python data structures, e.g., lists, tuples, sets, and dictionaries
9 Searching and sorting algorithms in Python
10 Exploring more of the Python libraries and features

Courses

This module is available on the following courses: