PROGRAMMING 0

SHE Level 1
SCQF Credit Points 20.00
ECTS Credit Points 10.00
Module Code M1I326719
Module Leader Richard Holden
School School of Computing, Engineering and Built Environment
Subject Computing
Trimester
  • A (September start)

Summary of Content

The purpose of this module is to introduce students to core programming concepts and tools. A core language will facilitate the understanding of coding techniques common to all high-level languages. The aim is to equip students with the knowledge and skills to help them develop (and organise) code effectively. Basic programming structures, use of variables, statements and expressions, will be an early focus. As code becomes more complex, programming principles e.g., modularity, the use of functions and classes are introduced to support skills in code organisation. The importance of using libraries will be featured throughout the course, as will the use of real-word data sets.

Syllabus

Software and the machine, parallel vs serial execution. High-level programming language comparisons (such as Python, Java, C#, C, C++). Development environments (command-line, Desktop and Cloud IDEs, Notebooks). Numerical / non-numerical data types. Variables, operators (logical and arithmetic), statements and expressions Conditional structures Iteration Processing real-word data: files and data formats (CSV, JSON, XML, HTML) Object-Orientated Programming Program crashes, bugs and debugging Simple 2D graphics

Learning Outcomes

On successful completion of this module, the student should be able to:1. Demonstrate an understanding of data types and control structures2. Develop code, and exploit the software ecosystem, to solve problems3. Demonstrate an understanding of basic modular approaches to code organisation4. Understand that real-word data can be read, processed and exploited creatively5. Understand the role of software and different forms of execution

Teaching / Learning Strategy

The University 'Strategy for Learning' documentation has informed the learning and teaching strategy for this module. The course material and overall project guidance approach will be introduced through seminars/workshops. The tutorials will be used as project supervision, monitoring and support sessions with each individual, and for the explanation and elaboration of seminar material and overall project guidance and support. Full use will be made of GCU Learn to provide Lecture-based and related study materials, along with sample solutions of Tutorial and Laboratory exercises, thus encouraging the development of independent learning and allowing self-reflective feedback on student performance. Staff-based feedback on student performance for submitted work will be provided in line with the University feedback policy, with summative feedback and grades on the coursework assessment utilising GCU Learn. The additional interactive discussion features of GCU Learn will be utilised, as appropriate to the module, to stimulate independent and flexible student learning outwith scheduled class time. Students registered on part-time programmes may use elements of work-related activity to underpin the learning on this module. To support part-time students in undertaking activities use will be made of GCULearn to provide study materials. Additionally, the interactive features of GCULearn will be utilised to support group learning outwith scheduled class time. GCULearn facilitates group interaction through discussion forum, file sharing, blogs, wikis and journals. Students will also be encouraged to make appropriate use of social media and collaboration tools.

Indicative Reading

Aaron, S and Barnes, R (2016) Code Music with Sonic Pi. Perfect Paperback. Create Commons. Downey, A (2016) Think Python: How to Think Like a Computer Scientist. O Reilly. California. Galea, A (2018) Applied Data Science with Python and Jupyter. Packt Publishing. Birmingham. Petzold, C (1999) Code: The Hidden Language of Computer Hardware and Software. Microsoft Press. Washington. Sedgewick (2015) Introduction to Programming in Python. Person Education, Inc. Michigan. Severence, C (2016) Python for Everybody: Exploring Data in Python 3. Thomas, D. and Hunt, A (2019) The Pragmatic Programmer, Second Edition. Pearson Education, Inc. London.

Transferrable Skills

D2 Critical thinking and problem solving. D4 Communication skills, written, oral and listening. D6 Effective Information retrieval and research skills. D7 Computer literacy. D8 Self-confidence, self-discipline & self-reliance (independent working). D9 Awareness of strengths and weaknesses. D12 Appreciating and desiring the need for continuing professional development D13 Reliability, integrity, honesty and ethical awareness D15 Ability to prioritise tasks and time management (organising and planning work). D16 Interpersonal skills, team working and leadership. D17 Presentation skills. D18 Commercial awareness (Narrative)

Module Structure

Activity Total Hours
Lectures (FT) 12.00
Practicals (FT) 36.00
Independent Learning (FT) 122.00
Tutorials (FT) 12.00
Assessment (FT) 18.00

Assessment Methods

Component Duration Weighting Threshold Description
Course Work 01 n/a 100.00 40% Project code, documentation & report