FI2AMPR10 Programming
FI2AMPR10 Programming
- Course description
- Course codeFI2AMPR10
- Level of study5.2
- Program of studyNetwork and IT Security
- Credits10
- Course coordinatorJustine Moodley, Benjamin Rosenlund
This course helps students gain an understanding of the required thought processes and problem-solving mind-set required to create system designs and implement them using a programming language. The role of pseudocode, fundamental programming concepts and the utility of documenting code are the core concepts covered in this course.
It is important that the students understand how programs are built. Many security tools, hacker tools and vicious code is in use in the industry, so it is important to have a good understanding of programming when working with ICT related security, as reading code, and understanding roughly what it does is an important aspect of protecting your resources.
The candidate:
- has knowledge of fundamental programming concepts, theories, processes and tools.
- understand the role of programming as a problem-solving tool.
- has insight into error handling techniques, used to devise stable code.
- understand the basic tasks associated with version control.
- can assess their own work in relation to the applicable norms and requirements for system design and programming.
- has insight into their own opportunities for development through practice and resources of information.
The candidate:
- can apply knowledge of programming to convert a real-world problem into a programming problem.
- can devise a software-based solution in an environment, such as the command-line or a graphical user interface.
- can create reusable software reflecting their own vocational choices regarding system design and coding and adjust their practice under supervision.
- can apply various techniques for documenting code.
- can find and refer to information and vocational material about specifications and software relevant to programming.
- masters relevant tools and techniques to plan, organize, analyse and interpret software designs as they relate to vocational issues.
The candidate:
- can plan and carry out vocational programming tasks and projects, alone or as part of a team, and in accordance with ethical requirements and principles.
- has developed a practical attitude in relation to software development.
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.