FSD1-BP06 Backend Programming
FSD1-BP06 Backend Programming
- Course description
- Course codeFSD1-BP06
- Level of study5.1
- Program of studySecure Application Development and Deployment
- Credits6
- Course coordinatorFrederick Johannes Botha
For the Backend Programming course, we will focus on the .NET framework. Students are free to explore other frameworks like Java, Python & Node.js. All three electives follow a similar structure: Coding Fundamentals, Web Server Development, and Application Security and Deployment. The coding fundamentals inherent in the chosen language include Data, Flow Control and Error Handling, Modularization, Test Driven Development, Object Oriented Programming and Design, and File Input/Output. On the server side, learners are introduced to relevant relational database technologies, web development frameworks and web APIs. Learners also gain hands-on skills in developing, securing, and deploying lightweight server-side applications to the cloud.
Back-end programming is a crucial component of the programme structure, encompassing fundamental coding principles, web server development, and the vital aspects of application security and deployment. Positioned after the “Secure Application Lifecycle Management” course, it equips students to apply their competencies acquired from the SALM course in system implementation. So, the candidate can identify, gather, and analyse functional and security requirements, enabling them to design systems securely and comprehensively before implementing them with their acquired skills in back-end development. The MAL course is a prerequisite to the Backend development course. By mastering programming skills in this context, students can seamlessly integrate into the software development lifecycle, where requirement analysis and system design are essential prerequisites for successful implementation. This holistic approach ensures that students are well-prepared to deliver robust, secure software solutions.
The candidate:
- has knowledge of concepts, processes and tools for back-end development and its related security measures
- has insight into relevant regulations, standards, agreements and quality requirements for secure development of the back-end application
- understands Web Server Development with relational databases, web development frameworks and web APIs
- has knowledge in back-end development in relation to software security incorporation to mitigate vulnerabilities such as injection vulnerabilities and is familiar with adversarial threats of back-end systems
- can update back-end development knowledge based on the threat landscape, industry requirements, and technological trends, among others
- understands the importance of secure back-end development and deployment of applications in the candidate’s preferred language (Thus in java, C#, or Node.js frameworks) for the benefit of society and value-creation
The candidate:
- can apply back-end development knowledge to develop and maintain secure APIs and can be
- configure and deploy in Continuous Integration and continue deployment (CI/CD) pipelines
- masters relevant back-end development tools, materials, techniques, and styles such as CI/CD, API security, API documentation, version control and CRUD operations
- can find information and material that is relevant to optimise and secure back-end development problems
- can study a situation and identify back-end related issues to deduce and implement possible solutions, respectively
- can study an SRS document and implement a secure back-end solution to satisfy clients’ needs
The candidate:
- understand the ethical principles that apply in back-end development and deployment, including back-end security enhancement and optimisation of system performance
- has developed an ethical attitude in relation to implementing efficient and secure back-end development and deployment
- can carry out work based on the needs of Front-end developers and other users’ requirements to meet the product’s aims and objectives
- can build relations with a project team to develop effective and efficient applications
- can develop work methods, products and/or services that are relevant to back-end development, including but not limited to implementation of security best practices, writing clean codes and writing efficient API documentation to facilitate collaboration and maintenance
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.