FSD1-FP06 Frontend Programming

FSD1-FP06 Frontend Programming

  • Course description
    • Course code
      FSD1-FP06
    • Level of study
      5.1
    • Program of study
      Secure Application Development and Deployment
    • Credits
      6
    • Course coordinator
      Frederick Johannes Botha
Teaching term(s)
2024 Autumn
Authors
Prosper Kandabongee Yeng
About the Course

Front-end Programming focuses on the technologies and frameworks for designing and implementing single-page applications. The course starts with fundamentals of websites with fixed content, covering the basic UI design best practices and the core technologies for building web pages (HTML & CSS). The learner will progress from static web fundamentals to dynamic web, focusing on how JavaScript is used to get user input, retrieve data from external sources and manipulate website elements. The course also includes deploying web applications for hosting on 3rd party cloud service providers. Finally, learners will experience firsthand how modern front-end frameworks (Vue, Angular, and React) can automate much of the overhead of single-page applications. 

The placement of the front-end programming course after the “Managing Application Development Lifecycle” and “Backend Programming” courses is strategic. It ensures students have a solid foundation in application development, back-end infrastructure, and security before delving into the front-end. This sequence allows learners to comprehensively understand the development process, enhancing their ability to design user-friendly, secure interfaces. It reinforces their capacity to align front-end development with back-end functionality and maintain consistency with security measures, ultimately leading to well-rounded, secure app development expertise. 

Course Learning Outcomes
Learning outcomes - Knowledge

The candidate: 

  • has knowledge of concepts, processes, and tools for developing efficient and secure web and mobile applications 
  • has insight into relevant regulations, standards, agreements, and quality requirements for creating secure and efficient applications which can run on, cross-platforms (browsers or OS), with responsive interfaces and other desired software features. 
  • has a knowledge of developing secured front-end of applications and is familiar with front-end design principles, responsive design techniques and security concepts, among others 
  • has familiarity with popular front-end frameworks and libraries like React, Angular or Vue.js and their application in building interactive and dynamic user interfaces 
  • can update front-end development knowledge to meet current dynamics of technology and security 
  • understands the importance of front-end development in software product success in responsiveness, performance, usability and security. 
Learning outcomes - Skills

The candidate: 

  • can apply front-end development knowledge such as UI design principles and secure coding principles for efficient and secure front-end implementation 
  • masters front-end development tools such as UI design applications, materials and techniques to effectively develop front-end systems to meet both functional and non-functional requirements 
  • can securely integrate back-end APIs to front-end frameworks to achieve efficient and secure functionality of the requirement 
  • can find information and materials that is relevant to solving front-end functional and non-functional requirement problem 
  • can study a client’s requirement and identify front-end related issues and what appropriate UI elements or measures can be adopted for resolution. 
  • can use a popular front-end framework such as React, Vue or Angular to automate the over overhead associated with single-page applications 
  • masters how to secure an app against various vulnerabilities 
General Competence

The candidate: 

  • understand the ethical principles that apply in developing a secure front-end of an application 
  • has developed an ethical attitude in relation to developing front-end of a system to meet both functional and non-functional requirements, including security requirements 
  • can carry out front-end development work to meet the web application needs of business client 
  • can test and debug front-end code to ensure its reliability and functionality 
  • can build relations with front-end developers, designers, end users and other internal and external groups to integrate front-end in the overall application to fulfil the application requirements 
  • can develop work methods, products and/or services relevant to secure front-end development, deployment and IT operations 
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