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 |