• prodigalsorcerer@lemmy.ca
    link
    fedilink
    arrow-up
    8
    ·
    9 months ago

    I feel like there need to be multiple CS pathways. For example, people who want to go into hardware development might take a set of courses more closely aligned with electrical engineering.

    There are.

    My university (and many others) offered Computer Science, Software Engineering, and Computer Engineering. Computer Engineering is sort of a middle ground between EE and SE, where you learn hardware concepts like circuits and semiconductors (for hardware development), but there are also algorithm-based courses.

    Each of the programs has many options for elective courses, and you can focus on databases, algorithms, security, web development, or whatever you want. The core concepts are the same, and it’s more about learning broad concepts and skills, rather than focused skills. Things like Redis and Elasticsearch didn’t exist when I took my database course - the practical portion was mostly just SQL. Things like Docker came even later. But the broad concepts I learned allow me to jump in and use “new” technologies as they mature and stabilize.

    None of the programs were just “coding bootcamp”. Coding was almost inconsequential to my degree (CompEng), though I understand it’s used more heavily in Computer Science degrees. I had a single first-year course that was supposed to teach us programming - all the other courses just assumed a basic knowledge. The focus was more on the design, the logic, and the algorithms. Anyone can code - the bootcamps have that right. But not everyone can design and implement a distributed system efficiently and securely.