4 ms·
This was a while ago now, but my undergrad requirements consisted of: (1) data structures and algorithms, (2) computer architecture, (3) advanced algorithms, (4
by jkingsbery 4y ago
This was a while ago now, but my undergrad requirements consisted of: (1) data structures and algorithms, (2) computer architecture, (3) advanced algorithms, (4) computational theory, (5) programming languages, and (6) a few electives (discrete math was also a requirement). To complete my electives I took a couple classes in AI/ML and a class in compilers. I went to a small liberal arts school for undergrad, so there was no database class offered, and I don't remember a class specifically in networking (although a little bit of networking was covered in an OS elective that was offered). I did get all 3 areas you mentioned in grad school though.
This all is to say: as a matter of curriculum design maybe we can train future software engineers better, but when presented with an individual candidate consider not only what the candidate knows now but also that person's ability to learn.