Program Modules
TERM 1: Programming Foundations
Description: Introduces computing fundamentals, software engineering concepts, software development careers, and the software lifecycle.
Modules:
- Introduction to Computing - Computer systems, Hardware and software, Operating systems
- Introduction to Software Engineering - What is software engineering?, Disciplines, Career pathways
- Software Development Life Cycle (SDLC) - Waterfall, Incremental, Spiral, Agile
- Software Development Teams - Roles and responsibilities, Software documentation
- Emerging Technologies - Cloud computing, Artificial Intelligence, Mobile applications
Labs: Software project analysis, SDLC case studies
Modules:
- Python Basics - Variables, Data types, Operators
- Program Control - Conditions, Loops
- Functions and Modules - Function design, Modular programming
- Data Structures - Lists, Dictionaries, Sets, Tuples
- File Handling - Reading files, Writing files
- Exception Handling - Error management, Debugging
Labs: Programming exercises, Mini applications
Modules:
- Discrete Mathematics - Sets, Relations, Functions
- Logic - Propositional logic, Predicate logic
- Algorithms Mathematics - Complexity concepts, Mathematical reasoning
- Graph Theory - Trees, Graph structures
- Computational Thinking
Labs: Problem-solving exercises, Algorithm design activities
TERM 2: Software Design and Development
Modules:
- OOP Concepts - Classes, Objects, Encapsulation
- Inheritance - Polymorphism, Abstraction
- Design Principles - SOLID principles, Reusability
- Design Patterns - Singleton, Factory, Observer
- Application Development
Labs: OOP projects, Design pattern implementation
Modules:
- Database Fundamentals - Relational databases, Database architecture
- Database Design - ER Diagrams, Normalization
- SQL Programming - Queries, Joins, Views
- Advanced Databases - Transactions, Stored procedures
- NoSQL Databases - Document databases, Key-value databases
Labs: MySQL/PostgreSQL development, MongoDB exercises
Modules:
- HTML5
- CSS3
- JavaScript Fundamentals
- Responsive Design
- Front-End Frameworks
- Backend Development Basics
- REST APIs
Labs: Dynamic websites, API integration projects
TERM 3: Advanced Software Engineering
Modules:
- Requirements Engineering - Requirements gathering, Requirements documentation
- UML Modeling - Use case diagrams, Class diagrams, Sequence diagrams
- Software Architecture - Layered architecture, Microservices architecture
- System Design - Scalability, Maintainability
- Design Documentation
Labs: UML projects, System design exercises
Modules:
- Testing Fundamentals
- Unit Testing
- Integration Testing
- System Testing
- Automated Testing
- Quality Assurance Standards
Labs: Test case development, Automated testing tools
Modules:
- Agile Methodologies - Scrum, Kanban
- Agile Project Management
- DevOps Fundamentals
- CI/CD Pipelines
- Containerization
- Infrastructure as Code
Labs: Git workflows, CI/CD implementation, Docker projects
TERM 4: Modern Software Engineering
Modules:
- Cloud Computing Fundamentals
- Cloud Application Architecture
- Serverless Computing
- Container Orchestration
- Cloud Security Basics
Labs: Cloud deployments, Containerized applications
Modules:
- Secure Software Development Lifecycle
- Secure Coding Practices
- Authentication and Authorization
- Web Application Security
- API Security
- Security Testing
Labs: Secure coding exercises, Vulnerability assessment
Modules:
- Project Management Fundamentals
- Software Cost Estimation
- Risk Management
- Team Leadership
- Software Product Management
- Technology Entrepreneurship
Labs: Project planning, Startup software case studies
Specialized Development Tracks (Choose One)
Track A: Full Stack Web Development
- Advanced JavaScript
- React
- Node.js
- API Development
Track B: Mobile Application Development
- Android Development
- iOS Concepts
- Cross-platform Frameworks
Track C: Cloud Software Engineering
- Cloud Architecture
- Kubernetes
- Cloud Security
Track D: AI-Enabled Software Development
- AI APIs
- Generative AI Integration
- Intelligent Applications
Capstone Graduation Project (100 Hours)
Students work individually or in teams to develop a complete software solution following industry-standard software engineering practices.
Project Stages:
- Phase 1: Project Proposal - Problem identification, Requirements gathering
- Phase 2: Analysis and Design - UML modeling, Architecture design
- Phase 3: Development - Frontend development, Backend development, Database integration
- Phase 4: Testing - Functional testing, Security testing, Performance testing
- Phase 5: Deployment - Cloud deployment, Documentation
- Phase 6: Final Presentation and Defense