Introduction to Software Engineering (CS 3300)
Introduction to Software Engineering (CS 3300)
Semester
Fall 2024 - Gen AI Redesign (class website); Fall 2022 (class website); Fall 2021 (class website)
Course Description
This course introduces software engineering techniques with an emphasis on development processes, phases, and tools. The course structure includes an introduction to software engineering, requirements and prototyping, design and unified software process, and testing and test-driven development. This course has undergone significant redesigns to stay at the forefront of industry trends and global needs. In 2023, the curriculum was enhanced to include sustainability-focused software engineering, preparing students to create environmentally responsible and globally applicable solutions. The 2024 redesign integrates Generative AI tools, enriching the curriculum with advanced technologies for software design, implementation, and testing. These updates ensure that students engage in real-world software projects that reflect cutting-edge practices and address both sustainability and the latest in AI advancements.
Junior Design & Project Implementation (CS 3311 & CS 3312)
Semester
Fall 2022 - Present
Course Description
This is a two-semester course for CS undergraduate students that focuses on exposing students to real-world software development practices and skills by engaging them in projects from industry clients. The first semester engages students in client interaction, requirements engineering, and prototype design. The second semester focuses on project design and implementation in sprints following an Agile approach.
Objects and Design (CS 2340)
Semester
Spring 2023 - Present
Course Description
This course exposes students with knowledge in an object-oriented language to implementing the language in a true object-oriented style. The course achieves this goal by covering standard design principles, patterns and practices, focusing on quality processes, effective debugging techniques, and testing to ensure a quality product. Recent enhancements include the integration of industry-standard code quality tools like SonarQube, which fosters better code maintainability and gives students a realistic experience in project management. Additionally, the course now incorporates Generative AI tools to assist students in learning new frameworks, such as Android Studio, more effectively, ensuring they are equipped with contemporary skills relevant to current industry standards.