Module Database Search



MODULE DESCRIPTOR
Module Title
Programming Fundamentals
Reference CM1601 Version 5
Created February 2024 SCQF Level SCQF 7
Approved July 2020 SCQF Points 30
Amended April 2024 ECTS Points 15

Aims of Module
To introduce processes associated with problem solving using a programming platform. To introduce programming logic, algorithms and coding for computational problem solving using high level programming languages.

Learning Outcomes for Module
On completion of this module, students are expected to be able to:
1 Present competence in the algorithmic approach to problem solving.
2 Apply fundamental programming concepts using a high-level programming language.
3 Implement robust, maintainable programs that use object-orientated analysis and design principles.
4 Apply alternative code constructs for a given use case study on an intelligent application.

Indicative Module Content
Software development life cycle. The software development process: an analysis of the problem, design, implementation and testing and debugging. Introduction to programming languages. Programming fundamentals: program structure, data types, variables, expressions, and assignment. Program control statements: if, else, logical operators, assignment operators, conditional operators and arithmetic operators. Program repetition statements: while and for loops. Working with Strings. Input and output. File handling. Exception handling. Collections: arrays, lists, tuples, sets, dictionaries and enumerations. Using functions: logic and pseudo code, modular decomposable code. Object oriented Concepts: classes and objects, abstraction and encapsulation. Tools and techniques for sharing software solutions. Version control. Code optimization.

Module Delivery
The module will be delivered over two semesters using the flipped classroom to promote self-learning skills through a mixture of lectures, tutorials and workshops consisting of 24 lectures, 2 hours per week, 24 tutorials, 2 hours per week on programming and 24 workshop sessions, 2 hours per week on program design and GUI design. In total; 6 hours of contact hours per week. Students should be using online resources to improve self-learning skills. The 2-hour design lecture will be delivered online.

Indicative Student Workload Full Time Part Time
Contact Hours 96 N/A
Non-Contact Hours 204 N/A
Placement/Work-Based Learning Experience [Notional] Hours N/A N/A
TOTAL 300 N/A
Actual Placement hours for professional, statutory or regulatory body    

ASSESSMENT PLAN
If a major/minor model is used and box is ticked, % weightings below are indicative only.
Component 1
Type: Examination Weighting: 40% Outcomes Assessed: 1, 4
Description: Closed book examination.
Component 2
Type: Coursework Weighting: 60% Outcomes Assessed: 2, 3
Description: Individual coding assignment consisting of two elemental submissions.

MODULE PERFORMANCE DESCRIPTOR
Explanatory Text
The calculation of the overall grade for this module is based on a 40% weighting for Component 1 (Examination) and 60% weighting for Component 2 (Coursework). An overall minimum grade D is required to pass the module.
Examination:
Coursework: A B C D E F NS
A A A B B C E
B B B B C C E
C B C C C D E
D C C D D D E
E C D D E E E
F E E E E F F
NS Non-submission of work by published deadline or non-attendance for examination

Module Requirements
Prerequisites for Module None.
Corequisites for module None.
Precluded Modules None.

INDICATIVE BIBLIOGRAPHY
1 Gaddis, T., 2015. Starting out with Phython, 4th ed. Pearson
2 Berry, P., 2017. Head First Python: A Brain-Friendly Guide. 2nd ed. O'Reilly Media.
3 Freeman, E., 2018. Head First Learn to Code: A Learner's Guide to Coding and Computational Thinking. 1st ed. O'Reilly Media.
4 Shaw, Z., 2017. Learn Python the Hard Way: A Very Simple Introduction to the Terrifying Beautiful World of Computers and Code. 1st ed. Addison-Wesley Professional.
5 White, M., 2018. Mastering Python: Machine Learning, Data Structures, Django, Object Orientated Programming and Software Engineering. 1st ed. CreateSpace Independent Publishing Platform.
6 Python for Beginners https://www.python.org/about/gettingstarted/
7 Python Tutorials Point https://www.tutorialspoint.com/python/
8 Python Programming https://www.youtube.com/watch?v=nwjAHQERL08&&list=PLGLfVvz_LVvTn3cK5e6LjhgGiSeVlIRwt&=&index=1


Robert Gordon University, Garthdee House, Aberdeen, AB10 7QB, Scotland, UK: a Scottish charity, registration No. SC013781