Certificate: Information Technology (Systems Development)

Course Overview:
This certificate provides a thorough grounding in the principles and practices of modern software engineering. Students will learn to design, code, test, and manage the development of robust applications and systems, preparing them for roles as junior developers, software testers, and IT project support staff.
Target Audience:
Aspiring software developers, programmers, and IT professionals seeking to specialize in building software solutions.
Outline
Module 1: Software Design and Implementation
- Software Development Lifecycle (SDLC) Models
- Object-Oriented Analysis and Design (OOAD) Principles
- UML and Modeling Techniques (Use Cases, Class Diagrams, Sequence Diagrams)
- Software Architecture Patterns (e.g., MVC, Client-Server)
- API Design and Integration Principles
- Writing Clean, Maintainable, and Documented Code
Module 2: Programming Languages (Java, Python, etc.)
- Core Programming Concepts (Syntax, Data Types, Control Flow)
- Object-Oriented Programming (Classes, Objects, Inheritance, Polymorphism)
- Data Structures (Lists, Stacks, Queues, Dictionaries)
- Language-Specific Frameworks and Libraries (e.g., Spring for Java, Django for Python)
- Introduction to Web Development (HTML, CSS, JavaScript)
- Comparative Language Analysis
Module 3: Database Management and Development
- Relational Database Concepts and Normalization
- SQL for Data Definition and Manipulation (DDL & DML)
- Advanced Querying (Joins, Subqueries, Transactions)
- Database Programming (Stored Procedures, Triggers)
- Introduction to NoSQL Databases (e.g., MongoDB)
- Integrating Databases with Applications
Module 4: Project Management in IT
- Traditional vs. Agile Project Management (Waterfall, Scrum, Kanban)
- Project Planning, Scheduling, and Estimation
- Risk Management and Mitigation
- Version Control with Git and Collaboration (GitHub, GitLab)
- Tools for Project Tracking (e.g., Jira, Trello)
- Team Dynamics and Communication
Module 5: Testing and Quality Assurance
- Fundamentals of Software Testing
- Writing and Executing Test Cases
- Levels of Testing (Unit, Integration, System, UAT)
- Test-Driven Development (TDD) Introduction
- Automated Testing Tools and Scripts (e.g., Selenium, JUnit)
- Debugging Techniques and Defect Lifecycle Management



