Learn CS

My course assignments are documented in my github repo.


  • Truth and beauty. Working software is not enough; well-designed and well-engineered code matters.
  • Everything in Java lives inside a class, whereas there are functions in C/C++ that don’t and hence allow you to do stuff in a more procedural way.
  • Function prototypes are a way of telling the compiler about something that’s coming up later.
  • <<: string insertion operator.
  • Integer division has truncation built into it.
  • Only two types of user-defined types in cpp: Enums and Records/Structs.
  • Default parameter passing is pass-by-value. Add & to declaration for pass-by-reference.