| |
Apr 14, 2026
|
|
|
|
|
CSC 102 - Principles of Software Engineering This course will introduce the student to the basic principles of good software engineering: Modularity, Abstraction, Encapsulation, DRY (Don’t Repeat Yourself), KISS (Keep It Simple Stupid), YAGNI (You Ain’t Gonna Need It), Maintainability, and Reusability. The software development cycle will be discussed; requirements, flow charting, UML (Unified Modeling Language) diagrams, Finite State Machines (FSM), Test-Driven Development (Unit, Component, Subsystem, and System), and iterative review. Scripting vs. Structured Programming vs. Object-Oriented Programming vs. State Driven Programming will be examined. Common industry tools that are used for software engineering will be utilized; GCC, GDB, CMake, Makefiles, GitHub, and GitHub Classroom.
1 Semester Credit(s)
Laboratory/Experience Hours: N/A Prerequisite(s): N/A Corequisite(s): N/A Repeatable for Credit: No Core Course: No Grade Type: LT Typically Offered: Fall
Add to My Courses (opens a new window)
|
|