FM1AZPR10 Introduction to Programming

FM1AZPR10 Introduction to Programming

  • Course description
    • Course code
      FM1AZPR10
    • Level of study
      5.1
    • Program of study
      Applied Machine Learning
    • Credits
      10
    • Course coordinator
      Leon Grobbelaar
Teaching term(s)
2024 Autumn
About the Course

The course introduces candidates to concepts of programming. The course provides knowledge of and skills in software design, algorithmic thinking, different data structures, loops, functions and file systems, in addition to using some programming libraries. Candidates also learn to read and understand pseudo code. Candidates learn to apply knowledge to identify variables, program controls, functions, input, output and collections used in software development.

This course will set up the foundation of programming under the purview of data-driven problems. The course will enable the usage of various external and inbuilt Python libraries, which will eventually be employed for machine learning applications.

Course Learning Outcomes
Learning outcomes - Knowledge

The candidate:

  • has knowledge of processes and methods that are used to identify and solve issues in code
  • has knowledge of processes and tools that are used in software design to describe a programming problem
  • has knowledge of processes, tools and system designs that are used in software development
  • can update his/her knowledge of programming and development processes
  • understands the importance of computation related to solving problems
Learning outcomes - Skills

The candidate:

  • can apply knowledge of pseudo code to construct software designs
  • can apply knowledge of programming to convert a real-world problem into a programming problem
  • masters relevant tools and techniques to plan, organise, analyse and interpret software designs
  • can find information about specifications and software relevant to programming
  • can study software development and identify software-related issues and what measures need to be implemented to optimise applications
General Competence

The candidate:

  • understands the ethical principles and guidelines that apply to computer programming and software design
  • has developed a practical attitude related to software development
Teaching and Learning

In this course, the following teaching and learning methods can be applied, but are not limited to:

  • Lecture: Educator-led presentations or activities providing knowledge, skills, or general competencies in the subject area.
  • Group work: Collaborative activities where students work together to solve problems or complete tasks.
  • Tutoring: One-on-one or small group sessions with an instructor for personalized guidance and support.
  • Student presentations: Opportunities for students to demonstrate their understanding of course material by presenting to peers.
  • Online lessons: Digital content delivered via an online learning platform.
  • Guidance: Individualized advice and direction from instructors to support students in their learning journey.
  • Workshops: Practical sessions focused on hands-on application of theoretical concepts or skills.
  • Self-study: Independent study where students engage with course material on their own without any teacher support.
Reading list

Teaching materials, reading lists, and essential resources will be shared in the learning platform and software user manuals where applicable.

Assessments
Form of assessmentGrading scaleGroupingDuration of assessment
Course Assignment
Pass / Fail
Group/Individual
5 Week(s)