Experience
Uni modules
At uni, the notable modules I took where -
- CS132 - Computer Organisation and Architecture
- Logic gates
- Core CPU components
- Methods of optimisation
- Understanding assembly
- CS140 - Computer Security (optional)
- Threat analysis
- Public vs private key encryption/cracking methods
- Core security algorithms - DES, AES, RSA
- Methods of verification
- Security issues in networks and web servers
- CS141 - Functional Programming (Haskell) (optional)
- Design/reasoning of the language
- This one doesnt really suit itself to a list of topics, we just learnt haskell
- If you love maths you'll love haskell, otherwise I think its got some nice features
- CS261 - Software Engineering
- 6-person random group project (link here)
- Aimed to make an airport simulator, modelling ingoing/outgoing planes
- Ended up responsible for >40% of commits, and >40% of the lines that were in the final version ;-;
Other modules taken that year were -
- CS118 - Programming for Computer Scientists (just java)
- CS126 - Design of Data Structures
- CS130 - Mathematics for Computer Scientists 1
- CS131 - Mathematics for Computer Scientists 2
- CS133 - Professional Skills
- CS241 - Operating Systems and Networks
- CS257 - Advanced Computer Architecture
- CS258 - Database Systems
- CS259 - Formal Languages
- CS260 - Algorithms
- CS262 - Logic and Verification
- CS263 - Cyber Security (Optional)
- CS263 - Principles of Video Game Development (Optional)
Language reviews
All rows are out of 10
| Language |
Experience* |
Enjoyment |
Syntax** |
How nice it looks |
Novelty |
Overall score |
Notes |
| C |
5 |
7 |
8 |
7 |
8 |
7 |
|
| C++ |
6 |
7 |
7 |
5 |
9 |
8 |
Not a fan of the :: everywhere |
| C# |
8 |
9 |
9 |
9 |
7 |
9 |
Possibly my goto high-level language |
| Java |
7 |
4 |
6 |
4 |
3 |
1 |
Just worse C#, not everything needs to be an object |
| GDscript |
8 |
7 |
6 |
5 |
7 |
6 |
Treating godot components/APIs as packages for the experience category, though its still not that deep.
Mainly learnt through GMTK25
|
| Python |
7 |
6 |
7 |
5 |
7 |
6 |
|
| Haskell |
7 |
7 |
8 |
6 |
10 |
7 |
|
| Javascript |
7 |
6 |
3 |
5 |
3 |
5 |
The depths of the javascript tomfuckery rabbithole know no bounds |
*To clarify experience, a 5 means im fairly familiar with the syntax/language patterns, and have used a variety of packages/imports (if applicable) - I could solve leetcodes in the language comfortably
A 7 means I have used a large variety of different relevant imports (ie package for sockets, APIs, hosting)
A 9 means I could probably (try to) solve any problem in the langauge with my given knowledge/experience of packages. Wether that problem should be solved in this language is a different question
**Syntax refers to how much sense it makes