Status message

The course description for the semester you wanted is not published yet. Showing you instead the latest version available.

FI2BCPP10 Programming Fundamentals

FI2BCPP10 Programming Fundamentals

  • Course description
    • Course code
      FI2BCPP10
    • Level of study
      5.2
    • Program of study
      Data Analyst 2
    • Credits
      10
    • Course coordinator
      Bertram Haskins, Alec Du Plessis
Teaching term(s)
2024 Autumn
2025 Spring
Authors
Alec Du Plessis
About the Course

This course introduces candidates to programming fundamentals, using Python 3.x as the selected programming or scripting language. Candidates will learn to write structured code and be introduced to programming concepts such as data types, operators, collections, objects, comprehensions, file input-output, and various libraries. Candidates will learn about application programming interfaces (APIs) and how they access data stored within traditional and cloud-based databases. Candidates will learn how to write code in an integrated development environment (IDE), but will also become familiar with an alternative development, such as Jupyter Notebook. This type of environment simplifies the process of documenting code, presenting output and exporting reports in the form of Markdown.

This course is relevant because it teaches candidates the fundamentals of computational thinking and programming, in a widely used language, such as Python.  Python is an excellent beginner’s programming language since it is well-documented, easy to understand, and can be taught with a rapid turnover rate. Programming and Python are two desired skills since many bespoke tools and processes require scripting to be used efficiently. Candidates will learn how to use tools to document their code and present their findings. Additionally, candidates will learn how to use APIs to interface their programs with data warehouses in a secure manner.

Course Learning Outcomes
Learning outcomes - Knowledge

The candidate:

  • has knowledge of concepts that are used in computational thinking to solve data analysis related problems using simple programs
  • has knowledge of processes and techniques that are used in a selected programming language
  • has knowledge of industry relevant tools which are able to export code examples and documentation into alternative forms such as Markdown
  • has knowledge of concepts and processes that are used in relation to data access layers and the use of APIs
  • is familiar with the history of programming languages and fundamental programming traditions
Learning outcomes - Skills

The candidate:

  • can explain vocational choices in programming fundamentals, such as control structures and objects to create iterative solutions to repetitive tasks
  • can explain vocational choices of APIs to create access layers within databases to import data into their programs
  • can reflect over insight into database integration with the selected programming environment and adjust it under supervision
  • can reflect on own use of programming syntax and the use of the interactive interpreter and adjust it under supervision
  • can reflect on own the use of alternative text editing syntax to descriptive dialog within coded reports and adjust it under supervision
  • can find and refer to information and vocational material about scripting or coding with a programming language to develop diverse and robust programs
General Competence

The candidate:

  • can plan and carry out well-documented programs alone or as part of a group to solve real-world data-related problems in accordance with ethical requirements and principles
  • can plan and carry out fast, powerful, small scripts with a programming language and in accordance with ethical requirements and principles
  • can exchange points of view with other data analysts and programmers and participate in collaboratively discussions to create complete and well-documented programs
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
1 Week(s)
Approved by
x.x
Accreditation
x.x