Embedded Software Engineering Certificate, 2024 – Department of Computer Science
Overview
This post presents the proposed syllabus for the Embedded Software Engineering Certificate (2025) in the Department of Computer Science. The certificate is designed to equip students with essential knowledge and skills for developing reliable, high-quality software systems.
Certificate Objectives
- Provide a strong foundation in software analysis and design for systems.
- Introduce advanced software design patterns relevant to applications.
- Emphasize software quality assurance and testing practices in embedded environments.
- Prepare students for industry roles in software development.
Courses & Syllabi
1. SOFTWARE ANALYSIS & DESIGN
Course Description:
This course is intensive exploration of software analysis and design, delving into requirements acquisition, use case derivation, modeling and design of interaction behavior and state behavior, and derivation of design class diagrams. This hands-on course will equip students with the skills to apply these skills to real-world analysis and design challenges.
Main Topics:
- Introduction to Embedded Systems
- Requirements Engineering for Embedded Software
- System Modeling (UML/SysML)
- Architectural Design Patterns for Embedded Systems
- Interface and Integration Design
- Design Documentation and Review
2. SOFTWARE DESIGN PATTERNS
Course Description:
This course is intensive exploration of software design patterns, delving into their descriptions, underlying design principles, and utilized techniques. This hands-on course will equip students with the skills to apply these patterns to real-world design challenges.
Main Topics:
- Overview of Software Design Patterns
- Creational, Structural, and Behavioral Patterns
- Patterns for Real-Time and Embedded Systems
- Applying Patterns to Microcontroller Software
- Anti-Patterns and Pitfalls
- Case Studies and Pattern Selection
3. SOFTWARE QUALITY AND TESTING
Course Description:
This course delves deeply into software quality assurance, examining various testing processes, methodologies, techniques, and tools. Covered topics encompass formal review techniques, black box and white box testing, integration testing, acceptance testing, regression testing, and performance testing. Through hands-on activities, students will acquire the necessary skills to verify the accuracy and quality of developed systems.
Main Topics:
- Fundamentals of Software Quality
- Verification & Validation Strategies
- Unit, Integration, and System Testing for Embedded Software
- Test Automation Tools and Techniques
- Code Reviews and Static Analysis
- Certification Standards (e.g., MISRA, ISO 26262)
- Managing Defects and Continuous Improvement
Target Audience
- Undergraduate and graduate students in Computer Science or related fields
- Engineering professionals seeking specialization in embedded software
- Anyone interested in high-assurance embedded system development
Expected Outcomes
- Mastery of analysis, design, and implementation techniques for embedded software
- Ability to apply design patterns and best practices in real-world projects
- Proficiency in quality assurance and systematic testing of embedded applications
- Preparation for industry-recognized roles and certifications