
Intermediate Level of Software Engineering
Department of Information and Communications Technology
Enrollment in this course is by invitation only

Course Overview
In this course, we will learn a skill that is crucial for every developer to master, to enhance the code quality that will make collaboration between developers a lot easier. We will also learn to integrate security in the software development lifecycle. Each module will end with a few objective questions to help you assess your knowledge and understanding of the topics in this course.
What You Will Learn
At the end of this course, you will be able to:
- write elegant, efficient, readable, simple and well-written code
- apply security practices in every phase of software development lifecycle
Course Instructor

Kate Gwen Roldan
Subject Matter Expert
Course Content
Week 1: Writing Clean Code
10 Videos | 2 Activities
10 Videos
- Welcome to the course!
- Software Design Patterns
- Creational Design Patterns
- Structural Design Patterns
- Behavioral Design Patterns
- How to write meaningful names?
- Comments
- Error Handling
- Boundaries
- Summary
2 Activities
- Recall Activity
- Exit Assessment
Week 2: Code Smells
4 Videos | 2 Activities
4 Videos
- Introduction to Code Smells
- Application Level Smells
- Class Level Smells
- Method Level Smells
2 Activities
- Recall Activity
- Exit Assessment
Week 3: Software Development Best Practices
6 Videos | 2 Activities
6 Videos
- Overview of the Software Development Best Practices
- Application Frameworks
- Version Control
- Refactoring
- What is code review?
- Summary
2 Activities
- Recall Activity
- Exit Assessment
Week 4: Secure Development Lifecycle
6 Videos | 3 Activities
6 Videos
- Concept and Planning Overview
- Architecture and Design
- Implementation Phase
- Testing and Bug Fixing
- Release and Maintenance
- Key Takeaways
3 Activities
- Recall Activity
- Exit Assessment
- Final Exam