
Understand software engineering as an engineering discipline shaping cost-effective development, maintenance, and architectural design, distinct from computer science and aligned with system engineering.
Explore how the software process organizes development, validation, and evolution to meet customer needs. Compare models like waterfall and iterative and note cost distribution across development and testing.
Explore software as a collection of programs delivering features, functions, and performance, with data manipulation and documentation describing operation and use.
Explore the evolution from hypertext to mobile and cloud computing, distinguish mobile web from apps, and note device access and cloud resources for Industry 4.0.
Explore prescriptive process models for software development, including waterfall and incremental approaches, and follow stages from requirements and modelling through design, coding, testing, and delivery.
Explore prescriptive process models for software development, including evolutionary prototyping, spiral, and the unified process, from requirements and design to coding, testing, deployment, and customer feedback.
Explore the waterfall model's linear software development life cycle, from requirements and analysis to design, implementation, verification, and maintenance, with emphasis on inputs, outputs, and process flow.
Explore the waterfall model’s staged, documentation-driven process with stage-wise testing, clear requirements, and management control, while examining its advantages, limitations, and suitable use cases.
Explore the game development lifecycle, comparing two models and guiding stages from initial design concept and concept art to the game design document, production, alpha and beta testing, and release.
Learn the game development life cycle (GDLC) part 2, covering design, preproduction, production, post-production, testing, bug fixing, and release in iterative cycles.
Explore agile software development as a lightweight, iterative process that delivers working software in 1–4 week iterations, embraces changing requirements, and prioritizes individuals, customer collaboration, and user stories.
Explore agile software development practices from planning to release, including user stories, acceptance criteria, design, prototyping, refactoring, unit tests, continuous integration, and time-boxed scrum cycles.
Explore cyclomatic complexity as a software measure built from simple decision points plus one. Learn to compute it from a control flow graph using edges, nodes, and connected components.
Master cyclomatic complexity and its flow-graph representation. Practice converting programming code to a block or flow graph to derive independent paths and compute complexity.
Assess process and project metrics for software development by deriving outcomes such as defects, deliverables, productivity, and schedule to drive quality through regular feedback.
Learn how metrics indicate process improvement and guide feedback without evaluating individuals; compare lines of code to function points as language-independent measures for early, reusable software.
Explore the project management concept in software engineering, detailing roles (stakeholders, project manager, practitioners, customers) and key team-structure factors and organizational paradigms.
Build trust and empower self-organizing teams with appropriate skill distribution. Decompose problems into functions and data objects, plan with rigour, and align scope with customer needs to prevent delays.
Learn to schedule software projects by analyzing interdependencies, resource availability, and milestones. Align customer needs with design, coding, and testing to ensure delivery while managing risks and communication.
Define project scope and rigour, plan with concept scoping and planning, assess technicalities, develop proof of concept, implement and integrate concepts, and track milestones with a timeline chart.
The course has some topics, starting from overview of software engineering, the nature of software as an introduction of software engineering. Then continue to process model which include prescriptive process model and agile development for software development, software development life cycle, game development life cycle and agile software development. The other topics are cyclomatic complexity for software testing and process and project metrics for the software metrics. The last topic is project management for software development which are consist of project management concept and project scheduling. There are ten topics in which each topic has about duration for six to seven minutes, so the time needed for finishing all topics is around one hour.