Software Development (Conversion) MSc
Programming COMPSCI4039
- Academic Session: 2026-27
- School: School of Computing Science
- Credits: 20
- Level: Level 4 (SCQF level 10)
- Typically Offered: Semester 1
- Available to Visiting Students: No
- Collaborative Online International Learning: No
- Curriculum For Life: No
Short Description
■ To provide a firm foundation in skills and key concepts essential for programming fundamentally in Python which is the main language used in the programme, while introducing also to Java syntax.
■ To provide a thorough introduction to problem solving and Python programming, giving a basis for study in topics such as algorithms and data structures, object-oriented design, and human computer interaction.
■ To develop skills, required for implementing solutions to well-specified programming problems, which could then be transferred to other programming languages like Java.
Timetable
Three lectures, one tutorial and one lab session per week. Special timetable in week 1.
.
Excluded Courses
None
Co-requisites
None
Assessment
Assessed exercise: 25%, Examination: 75%.
Main Assessment In: December
Course Aims
■ To provide a firm foundation in skills and key concepts essential for programming fundamentally in Python which is the main language used in the programme, while also introducing to Java syntax.
■ To provide a thorough introduction to problem solving and Python programming, giving a basis for study in topics such as algorithms and data structures, object-oriented design, and human computer interaction.
■ To develop skills, required for implementing solutions to well-specified programming problems, which could then be transferred to other programming languages like Java.
Intended Learning Outcomes of Course
By the end of the course students will be able to:
1. Demonstrate familiarity with the relevant programming environment;
2. Perform simple programming using primitive data types and objects;
3. Implement simple algorithms using repetition and conditional execution;
4. Develop well-structured programs in Python, employing suitable elementary algorithms and data structures as required;
5. Write maintainable, robust, reliable, and reusable code, together with concise and informative documentation;
6. Provide evidence of program correctness through thorough testing.