Lecture, four hours; laboratory, two hours; outside study, six hours. Requisites: courses 111, 131. Recommended requisite: Engineering 183EW or 185EW. Structured programming, program specification, program proving, modularity, abstract data types, composite design, software tools, software control systems, program testing, team programming. Letter grading.

Review Summary

Clarity
8.3 / 10
Organization
6.7 / 10
Time
0-5 hrs/week
Overall
8.3 / 10

Reviews

    Quarter Taken: Fall 2023 In-Person
    Grade: B-

    Professor explained material thoroughly and answered questions fully. There are homeworks that take quite some time. There is a final project that also takes a good amount of time because there are different checkpoints throughout the quarter.

    Quarter Taken: Fall 2023 In-Person
    Grade: A-

    This class overall was actually better than I expected for a capstone. The material is pretty easy compared to a lot of the other upper division CS classes. The professor wasn't super clear when presenting the slides but the lecture slides were very straightforward. There were only three homeworks and they were straightforward, relevant to the slides, and didn't take long at all. The exams were a bit tricky at times, but still not bad at all. The group project was pretty lenient as well. There is participation quizzes for every lecture, but they are for completion.

    Quarter Taken: Winter 2023 In-Person
    Grade: B-

    I recently had the pleasure of taking a software engineering course that was truly outstanding. From start to finish, I found the course to be engaging, informative, and thoroughly enjoyable. Here are some of the aspects of the course that stood out to me:

    Clear and concise instruction: The instructor did an excellent job of explaining complex concepts in a clear and easy-to-understand way. They provided real-world examples to illustrate key points and helped to bridge the gap between theory and practice.

    Interactive and engaging: The course was designed to be interactive, with a mix of lectures, group discussions, and hands-on exercises. This approach helped to keep me engaged and motivated throughout the course.

    Emphasis on practical skills: The course focused on providing practical skills that could be immediately applied in the real world. I appreciated the emphasis on skills such as requirements gathering, design patterns, and testing, which are essential for any software engineer.

    In-depth coverage of software development lifecycle: The course provided a comprehensive overview of the entire software development lifecycle, from requirements gathering to deployment. I found this to be particularly helpful, as it helped me to see how all the different stages fit together.

    Relevant and up-to-date content: The course content was up-to-date with the latest trends and technologies in software engineering. I appreciated that the course covered modern topics such as DevOps, microservices, and cloud computing.

    Overall, I would highly recommend this software engineering course to anyone looking to gain a comprehensive understanding of software development. The course was well-designed, informative, and engaging, and I feel that I gained a lot of valuable knowledge and skills that will be useful in my future career as a software engineer.

Course

Instructor
Maged Elaasar
Previously taught
24F 24W 23F 23W 22W 21W 20W

Grading Information

  • Has a group project

  • Attendance required

  • 1 midterm

  • Finals week final

  • 33% recommend the textbook