MEC1161 Fundamentals of Programming - Summary Notes

Course Information
  • Module: MEC1161 Fundamentals of Programming

  • Instructor: Dr. Tang Lai Meng (LaiMeng.Tang.2@glasgow.ac.uk)

Course Schedule
  • Weekly topics include Introduction, Computing Basics, Data Types, Control Statements, Functions, Arrays (Test 1 - Week 6), Pointers, File Handling, Structures, Dynamic Data Structures, and Secure Coding (Project Submission - Week 12).

Assessment Criteria
  • Labs: 10%

  • Final Exam: 35%

  • Group Project: 35%

  • Test 1: 20%

Course Resources
  • Recommended Texts: "The C Programming Language" by Kernighan and Ritchie, "Secure Coding in C and C++" by Robert C. Secord.

  • Additional Resource: MIT Open Courseware - Practical Programming in C.

Key Concepts in Computational Thinking
  • Problem Solving Stages: Problem Definition, Analysis, Algorithm Design, Solution Implementation, Verification & Validation, Documentation, Maintenance.

  • Concepts: Decomposition (breaking down problems), Pattern Recognition (identifying patterns), Abstraction (focusing on relevant features), Algorithm Design (structured instructions).

Flowchart and Pseudocode
  • Flowcharts: Visual representation of algorithms.

  • Pseudocode: Informal, high-level description of algorithm logic.

Example Algorithms
  • Health Teller: Calculates Body Size Category based on BMI (BMI=Weight (kg)(Height (m))2\text{BMI} = \frac{\text{Weight (kg)}}{(\text{Height (m)})^2}).

  • Sum Calculator: An example algorithm to sum numbers.