FI2DEAP10 Advanced Programming
FI2DEAP10 Advanced Programming
- Course description
- Course CodeFI2DEAP10
- Level of Study5.2
- Program of StudyDevOps Engineering
- Credits10
- Study Plan CoordinatorFrederick Johannes Botha
This course expands candidates’ programming skills by teaching them a second programming language optimised for back-end or front-end service delivery. This deepens each candidate’s understanding of diverse programming paradigms and allows them to select between two programming languages for specific tasks. Additionally, candidates will learn additional technical topics such as network programming, objected-oriented design, complex data structures, user documentation, database connectivity, and test-driven development using version control.
The candidate…
- has knowledge of concepts, theories, models, processes, and tools used in advanced programming for backend and frontend service delivery.
- has knowledge of object-oriented design principles, software architecture, and their application in complex systems.
- has knowledge of network programming concepts and protocols, including TCP, UDP, and REST.
- has knowledge of complex data structures and their role in solving computational problems efficiently.
- has knowledge of backend services, database connectivity, and integration techniques.
- has knowledge of test-driven development, unit testing, and the integration of testing into version control workflows.
- has knowledge of user documentation best practices for technical products.
- can assess his/her own advanced programming work in relation to applicable norms, performance requirements, and industry standards.
- is familiar with the history, evolution, and role of programming paradigms in modern software development.
- has insight into his/her own opportunities for development in specialised programming, architecture, or software engineering roles.
The candidate…
- can explain his/her vocational choices in selecting programming languages, paradigms, and architectures for specific DevOps-related tasks.
- can reflect over his/her own vocational practice in advanced programming and adjust it under supervision to meet technical and quality standards.
- can find and refer to information, documentation, and vocational material related to programming and assess its relevance to specific development challenges.
The candidate…
- can plan and carry out advanced programming tasks and projects alone or as part of a group, in accordance with ethical requirements and professional coding practices.
- can exchange points of view with others in the trade/discipline and participate in discussions about the development of good practice in programming and software architecture.
- can contribute to organisational development by designing, implementing, and maintaining robust, scalable, and well-documented software solutions.
Digital Learning Resources
The learning management system (LMS) is the primary learning platform where students access most of their course materials. The content is presented in various formats, such as text, images, models, videos or podcasts. Each course follows a progression plan, designed to lead students through weekly modules at their own pace. Exercises and assignments (individual or in groups) are embedded throughout the courses to support continuous practice and assessment of the learning outcomes.
Campus Resources
In addition to the digital learning resources, campus students participate in physical learning activities led by teachers as part of the overall delivery.
Guidance
Guidance and feedback from teachers support students' learning journeys, and may be provided synchronously or asynchronously, individually or in groups, via text, video or in-person feedback.
