Hacker News new | ask | show | jobs
by tedmiston 5138 days ago
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.