FI2BCPP10 Programming Fundamentals
FI2BCPP10 Programming Fundamentals
- Course description
- Course codeFI2BCPP10
- Level of study5.2
- Program of studyData Analyst 2
- Credits10
- Course coordinatorBertram Haskins, Alec Du Plessis
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.
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
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
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
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.
Teaching materials, reading lists, and essential resources will be shared in the learning platform and software user manuals where applicable.
Form of assessment | Grading scale | Grouping | Duration of assessment |
---|---|---|---|
Course Assignment | Pass / Fail | Group/Individual | 1 Week(s) |