| This is not radically different from most (ABET accredited) undergrad CS degrees. Intro programming sequence:
- Critical Thinking
- Logic
- Imperative Programming
- Object-oriented Programming Databases:
- Relational Data
- Object-relational Mapping Technical communication & ethics:
- Professional Communication
- Professional Conduct Software engineering sequence:
- Human-readable Data (also in databases)
- Refactoring
- Object-oriented Design Patterns
- Requirements and Specifications
- Organizing Software testing (elective):
- Unit Testing Senior design projects:
- Develop Software Misc: - Declarative Programming --> We learn regex in an intro to Linux course, XML in software engineering, etc. - Tools of the Trade --> Picked up on your own, from profs, TAs, teammates, etc. Which leaves only the following courses unaccounted for: - Optimizing --> General optimization strategies aren't really taught at my university without looking for specific elective courses. - User Interface Design --> Sadly, CS does not seem to concern itself much with the front-end of software; I wish this were not the case. |