Courses

Software Engineering

GJX301
Undergraduate 6 Credits

A comprehensive course covering the entire software engineering discipline, from requirements analysis to maintenance. Students will learn modern software development methodologies, design patterns, testing strategies, project management, and industry best practices. This course provides hands-on experience with real-world software development scenarios and prepares students for professional software engineering roles.

Total Duration: 45 hours (2700 minutes)
Total Sessions: 68
Total Modules: 10

Course Outcomes:
Master the complete software development life cycle (SDLC) and apply it to real-world projects
Design and architect scalable, maintainable software systems using industry-standard patterns
Implement effective software testing strategies and quality assurance processes
Apply agile and traditional project management methodologies in software projects
Demonstrate proficiency in requirements engineering, system design, and documentation

Learning Outcomes:
Analyze and document software requirements using various elicitation techniques
Create comprehensive software design documents including UML diagrams and architecture models
Develop software following best practices, design patterns, and coding standards
Evaluate software quality through testing, code reviews, and metrics analysis
Manage software projects using agile and waterfall methodologies effectively

Schedule

MTWTHF
10:00-12:00
Computer Lab 301
65/65 enrolled

Learning Outcomes

  • Analyze and document software requirements using various elicitation techniques
  • Create comprehensive software design documents including UML diagrams and architecture models
  • Develop software following best practices, design patterns, and coding standards
  • Evaluate software quality through testing, code reviews, and metrics analysis
  • Manage software projects using agile and waterfall methodologies effectively

Introduction to Software Testing

GJX401
Undergraduate 4 Credits Fall 2025

This comprehensive course introduces students to the fundamental principles and practices of software testing. Students will learn various testing methodologies, techniques, and tools used in the industry. The course covers manual testing, automated testing, test case design, defect management, and quality assurance processes. Through hands-on exercises and real-world examples, students will gain practical experience in testing different types of software applications.

Total Duration: 16.67 hours (5 modules × 5 sessions × 40 minutes)

Course Outcomes:
1. Master the software testing life cycle (STLC) and its integration with SDLC
2. Develop proficiency in manual and automated testing methodologies
3. Create effective test plans, test cases, and test reports
4. Utilize industry-standard testing tools and frameworks
5. Apply defect management and bug tracking best practices

Learning Outcomes:
1. Understand fundamental concepts of software testing and quality assurance
2. Apply various testing techniques including black-box, white-box, and gray-box testing
3. Design and execute comprehensive test cases for different software applications
4. Implement automated testing frameworks and tools
5. Evaluate and analyze test results to improve software quality

Schedule

MW
10:00-11:40
Lab 201
65/65 enrolled

Learning Outcomes

  • 1. Understand fundamental concepts of software testing and quality assurance
  • 2. Apply various testing techniques including black-box, white-box, and gray-box testing
  • 3. Design and execute comprehensive test cases for different software applications
  • 4. Implement automated testing frameworks and tools
  • 5. Evaluate and analyze test results to improve software quality

Modern Web Technologies

GJX301
Undergraduate 5 Credits

A comprehensive course covering front-end web development from fundamentals to advanced frameworks. Students will master HTML5, CSS3, JavaScript ES6+, and popular modern frameworks including Angular, React, Vue.js, and Next.js. The course emphasizes hands-on projects, responsive design, and industry best practices for building modern web applications.

📊 Course Structure:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Total Duration: 40 hours (2400 minutes)
Total Modules: 8
Total Sessions: 60

🎯 Course Outcomes:
Design and develop responsive, accessible websites using HTML5, CSS3, and modern best practices
Build interactive web applications using JavaScript ES6+ and DOM manipulation
Create single-page applications (SPAs) using Angular, React, and Vue.js frameworks
Develop server-side rendered and static websites using Next.js
Apply industry-standard tools, workflows, and deployment strategies for web development

📚 Learning Outcomes:
Master semantic HTML5 markup and accessibility standards (WCAG)
Create advanced layouts and animations using CSS3, Flexbox, and Grid
Implement modern JavaScript features including async/await, modules, and ES6+ syntax
Build component-based applications using popular JavaScript frameworks
Deploy and optimize web applications for production environments

Schedule

MTWTH
14:00-16:00
Web Lab 402
0/45 enrolled

Learning Outcomes

  • Master semantic HTML5 markup and accessibility standards (WCAG)
  • Create advanced layouts and animations using CSS3, Flexbox, and Grid
  • Implement modern JavaScript features including async/await, modules, and ES6+ syntax
  • Build component-based applications using popular JavaScript frameworks
  • Deploy and optimize web applications for production environments