Building on Python skills, this unit covers creating websites and web apps. Students learn to design and develop both front-end user interfaces and back-end server logic, integrating databases and APIs. The focus is on practical skills for building complete, functional web solutions considering user experience and data handling from start to finish.
This unit focuses on designing and developing secure software, covering core principles like confidentiality, integrity, and availability. Students apply secure coding practices such as input validation, cryptography, and privacy by design, learn vulnerability testing and management techniques, and evaluate the crucial social, ethical, and legal dimensions of secure software development.
Explore software automation driven by machine learning (ML) and its connection to artificial intelligence (AI). Students investigate diverse ML models and algorithms, including regression and neural networks, practice programming these models using object-oriented approaches, and critically assess the societal impacts of automation, AI, human behavioral patterns, and dataset bias.
Students execute a comprehensive software engineering project, applying principles from requirements analysis and feasibility studies through planning with methodologies like Waterfall or Agile. They will manage, design, build, test, and evaluate a significant software solution using project tools, version control, and collaborative techniques, addressing quality assurance and ethical project considerations.