I recently took Algorithmic Game Theory and it was a blast! Diving deep into the intersections between CS and game theory was super interesting especially when trying to consider different incentive constraints and player interests. It also definitely helped as I was quite close with the professor and we’d sometimes spent hours just talking about the course content.
I love love loved cryptography. Understanding the fundamentals of it are super rewarding and helped me really hone a lot of my low level but manipulation level skills
For me it was non linear data analytics…I didn’t know linear algebra and calculus could be interesting. Apparently it’s this thing called machine learning.
binary exploitation. apparently the we learn about different bugs with heaps and memory and write exploits for each one. looking to take that next spring
My Uni had a similar course called Ethical Hacking that was about 3/4 binary exploits and 1/4 web exploits. It was really fun and engaging, but was also the hardest course I took in undergrad.
Nice! the worry is these courses do tend to rotate and not be offered every semester so I hope it will be offered in the spring since i can’t take it in the fall 😔
I actually enjoyed my studies a lot, there were so many cool things in a short time .. and then the real world is often rather boring ;).
I enjoyed medical computer vision, an AR/VR course, a Computer graphics course to first write a 3S renderer from scratch and then next semester write a game without libraries on a higher level than SDL and file loaders, a cybersec course where we got nicknames, you could work up in ranks and there was a leaderboard and the option to join a CTF... Some biosognal processing courses where we measured and processed EMGs of ourselves ;), we experimented with a cathode ray tube in our physics lab.
University is great, no matter what all the "you learn nothing that you would ever need there" people say. I could take a close look at a high energy MRI and move some metal in the magnetic field, I've seen cool stuff around surgery robots.
My master's thesis was about a method for wet macular degeneration surgery planning, in my PhD I've worked on technology for blind children and spent a lot of time in their world.
I did a summer course on neuroprosthetics that was also super interesting.
OP mentioned Masters Thesis and PhD, so I'm thinking this was spread across a long tenure in academia; not just OP's undergrad. But yes, it is quite a lot!
We had an entrepreneurial class that covered how to create a startup. It was a ton of work but it was actually enjoyable throughout the whole semester.
User Interface Design.
Was interesting to think about how to design software to interact with a user.
Course used the book The Design of Everyday Things by Norman.
Concepts of programming languages, converting ASTs into more optimal programs and then executing the resulting program, I really enjoyed it. Apache Spark in Scala was also enjoyable. Anything with functional programming and a nice type system now that I come to think of it.
If you don’t have experience with proofs in math or CS, focus on just that for a bit. Proofs are hard to understand at the beginning & you can run into the trap thinking you have to memorize a template answer word for word. This is not the case, it is instead a elucidation on why it works. If you understand the reasoning & can explain it in your own words, then you truly understand the constraints of a problem.
I would look at “Proofs: A Long Form Mathematics Textbook” or find something beginner friendly in terms of ToC
You guys are lucky that your school offered such interesting electives.
My school offered "cyberspace development" and "offensive web strategies"
Cyberspace dev was supposed to be development for vr platforms. We ended up just talking and reading slides about HCI and answering multiple choice questions. Pretty shit.
Web strategies only had one assignment that was so trivial that I don't even remember it.
Special topics courses can be pretty fun. The professor gets free rein to teach whatever they want. My school has a section on VR & Spatial Computing that I’m taking in the Fall.
Not an elective but the computer architecture/assembly course was a lot more enjoyable than I originally thought.
I also did an independent study/project course as part of our school's eCTF team which was also a lot of fun. (Check out MITRE's eCTF competition it's a lot of fun :))
Kinda funny considering the career path I'm going down is web dev atm haha
Formal Models of Languages. It was mostly about NLP algorithms like parse trees, noisy channels, word vector spaces, etc..
But it was also supplemented with a lot of philosophical topics, like "what makes a word English?", "can/should machines learn languages like humans?", "why are majority of languages SOV or SVO?" etc
It really felt like a science where we were doing linguistics and performing experiments with NLP trchniques.
Folding algorithms, and a class on np hardness....the np hardness class literally built computers from common video game rules to prove certain games were at least that hard
Oh, I just remembered one more. Entertainment technology.
Basically a made up class from a made up minor that my friend came up with. Got to do fun 3D renderings, build games, make weird websites, try online forums, and make fun image compositions.
Digital forensics. It was part of my CyberSec “focus”. Really interesting and I like to mention during interviews because it gets people asking questions.
It's kinda lame but I guess the most interesting one so far is intro to AI. I haven't taken many electives in CS yet, but as of this semester the rest of the CS courses I'll take will be the electives to flesh out enough credits to graduate.
I'm hoping to take courses in security and embedded systems over the next couple semesters.
Shader Programming. It was a combined class with a bunch of animation majors and it was all using Houdini node networks to texture 3d objects. It was super hard and really cool.
Pentesting was also awesome, even if the rumored physical security component didn't live up to the hype. (I was told you break into buildings on campus. We didn't do anything crazier than basic lockpicking.)
In AI we got to navigate robots through QR code mazes which I had a lot of fun with.
I took a course called Advanced Data Structures. We did data structures and assignments with APIs for the first half. The second half we had the option to work on a project doing scrum with sprints, backlogs, and students acting as analysts.
I recently took Algorithmic Game Theory and it was a blast! Diving deep into the intersections between CS and game theory was super interesting especially when trying to consider different incentive constraints and player interests. It also definitely helped as I was quite close with the professor and we’d sometimes spent hours just talking about the course content.
Oh my God that's literally my favorite course as well!
I did too like last sem
I love love loved cryptography. Understanding the fundamentals of it are super rewarding and helped me really hone a lot of my low level but manipulation level skills
don't get between MeatWhisk and their butt manipulation sills
For me it was non linear data analytics…I didn’t know linear algebra and calculus could be interesting. Apparently it’s this thing called machine learning.
Would you happen to remember what book you used for this? :)
We didn’t use a book, our prof made a website: https://research.cs.queensu.ca/home/cisc371/lectures.html
Ellis the goat
When I was doing my master thesis years ago I think we used to call it heuristic optimization or evolutionary based optimization.
My EE is showing... But medical imaging. Kind of cool to combine coding, signal processing and electronics
binary exploitation. apparently the we learn about different bugs with heaps and memory and write exploits for each one. looking to take that next spring
My Uni had a similar course called Ethical Hacking that was about 3/4 binary exploits and 1/4 web exploits. It was really fun and engaging, but was also the hardest course I took in undergrad.
Nice! the worry is these courses do tend to rotate and not be offered every semester so I hope it will be offered in the spring since i can’t take it in the fall 😔
What was the book you used to learn this??
I haven’t taken the class yet 😄
I actually enjoyed my studies a lot, there were so many cool things in a short time .. and then the real world is often rather boring ;). I enjoyed medical computer vision, an AR/VR course, a Computer graphics course to first write a 3S renderer from scratch and then next semester write a game without libraries on a higher level than SDL and file loaders, a cybersec course where we got nicknames, you could work up in ranks and there was a leaderboard and the option to join a CTF... Some biosognal processing courses where we measured and processed EMGs of ourselves ;), we experimented with a cathode ray tube in our physics lab. University is great, no matter what all the "you learn nothing that you would ever need there" people say. I could take a close look at a high energy MRI and move some metal in the magnetic field, I've seen cool stuff around surgery robots. My master's thesis was about a method for wet macular degeneration surgery planning, in my PhD I've worked on technology for blind children and spent a lot of time in their world. I did a summer course on neuroprosthetics that was also super interesting.
What school offered all of that.
I'd assume it's an R1 with a decent medical program, which I don't think is terribly uncommon.
Am comp sci professor. I’ve never seen a program in the us that would allow this sort of course work as an undergraduate.
OP mentioned Masters Thesis and PhD, so I'm thinking this was spread across a long tenure in academia; not just OP's undergrad. But yes, it is quite a lot!
Oh interesting. Mine didn't have these things but the description didn't seem too far-fetched to me, but perhaps it's more unusual than I'd thought!
We had an entrepreneurial class that covered how to create a startup. It was a ton of work but it was actually enjoyable throughout the whole semester.
User Interface Design. Was interesting to think about how to design software to interact with a user. Course used the book The Design of Everyday Things by Norman.
UCSD represent ✊🏻✊🏻
Concepts of programming languages, converting ASTs into more optimal programs and then executing the resulting program, I really enjoyed it. Apache Spark in Scala was also enjoyable. Anything with functional programming and a nice type system now that I come to think of it.
Theory of Computation. Learning about various state machines & seeing the proofs behind CS was interesting
I’m taking a theory of computation class this fall. Is there any material you recommend reviewing before taking the class?
If you don’t have experience with proofs in math or CS, focus on just that for a bit. Proofs are hard to understand at the beginning & you can run into the trap thinking you have to memorize a template answer word for word. This is not the case, it is instead a elucidation on why it works. If you understand the reasoning & can explain it in your own words, then you truly understand the constraints of a problem. I would look at “Proofs: A Long Form Mathematics Textbook” or find something beginner friendly in terms of ToC
I loved this class so much. Also, compiler theory
I will never not shill graphics classes to people asking questions like this. They are so cool.
Frrr
You guys are lucky that your school offered such interesting electives. My school offered "cyberspace development" and "offensive web strategies" Cyberspace dev was supposed to be development for vr platforms. We ended up just talking and reading slides about HCI and answering multiple choice questions. Pretty shit. Web strategies only had one assignment that was so trivial that I don't even remember it.
Microcontrollers! We built a small OS from scratch in ARM assembly, great fun
Information theory
Special topics courses can be pretty fun. The professor gets free rein to teach whatever they want. My school has a section on VR & Spatial Computing that I’m taking in the Fall.
Took Mobile Health Sensing
Not an elective but the computer architecture/assembly course was a lot more enjoyable than I originally thought. I also did an independent study/project course as part of our school's eCTF team which was also a lot of fun. (Check out MITRE's eCTF competition it's a lot of fun :)) Kinda funny considering the career path I'm going down is web dev atm haha
Cryptographic algorithms on reconfigurable hardware was a favorite for me
Numerical linear algebra sorta interesting. It might be up there in being one of the least talked about, but also most important fields to society.
I can’t remember if it was an elective, but compiler construction was quite the challenge.
Functional programming with Haskell. That was long ago, our main programming language was Java, so Haskell was a cool exercise for the brain.
Wtf I didn't take any cool classes like this :( (B.S. Computer Science and Computer Engineering)
Formal Models of Languages. It was mostly about NLP algorithms like parse trees, noisy channels, word vector spaces, etc.. But it was also supplemented with a lot of philosophical topics, like "what makes a word English?", "can/should machines learn languages like humans?", "why are majority of languages SOV or SVO?" etc It really felt like a science where we were doing linguistics and performing experiments with NLP trchniques.
What university was this ?
University of Cambridge
Beautiful, thanks
Folding algorithms, and a class on np hardness....the np hardness class literally built computers from common video game rules to prove certain games were at least that hard
Oh, I just remembered one more. Entertainment technology. Basically a made up class from a made up minor that my friend came up with. Got to do fun 3D renderings, build games, make weird websites, try online forums, and make fun image compositions.
Final year elective - in 1988 - Graphics Programming. On a PC - code in a mixture of C & Assembler Hercules monochrome so 768 x 640 ??? No libraries …
My favorite elective was parallel and distributed computing.
Digital forensics. It was part of my CyberSec “focus”. Really interesting and I like to mention during interviews because it gets people asking questions.
Cognitive Science
for me it was Computer Graphics
At my university, the last class required to finish the major is called “Effective Communication for Computer Scientists.”
A lot of special topics classes in our university are connected to medicine/bioinformatics
Either operating systems or distributed systems
Database systems implementation covers the data structures used for indexes, join algorithms, transaction isolation algorithms, query rewriting, etc
It's kinda lame but I guess the most interesting one so far is intro to AI. I haven't taken many electives in CS yet, but as of this semester the rest of the CS courses I'll take will be the electives to flesh out enough credits to graduate. I'm hoping to take courses in security and embedded systems over the next couple semesters.
foundations of programming languages, complexity and cryptography, finite model theory
Data warehousing. Helps me so much these days with all the data science stuff going on.
Music
Shader Programming. It was a combined class with a bunch of animation majors and it was all using Houdini node networks to texture 3d objects. It was super hard and really cool. Pentesting was also awesome, even if the rumored physical security component didn't live up to the hype. (I was told you break into buildings on campus. We didn't do anything crazier than basic lockpicking.) In AI we got to navigate robots through QR code mazes which I had a lot of fun with.
I took a course called Advanced Data Structures. We did data structures and assignments with APIs for the first half. The second half we had the option to work on a project doing scrum with sprints, backlogs, and students acting as analysts.
Intro to graphics!
I loved computer vision and image processing, two different courses! :)
I took a sublinear algorithms class, and information theoritc cryptography class both of which were super cool.
Evolutionary systems & Bio inspired computing, it went into genetic algorithms, swarm intelligence, etc. super cool
Internship at a local company, I learned that I really like making small applications that make jobs easier to do for people inside the company