WARNING! This wiki is for Fall 2017. See Winter 2018 for more recent course information.

The CSAPP website includes lecture notes on the instructor site and supplemental material on the student site. Additional resources for CS 224 are below.

Screencasts

Slide Decks

Slide decks from screencasts and other supplemental material are in a GIT repository which you are welcome to clone. The repository is located on the CS Open Lab /users/faculty/egm/public-git/cs224/slides.git. Please note you can also use the path ssh://<user>@schizo.cs.byu.edu/~egm/public-git/cs224/slides.git You must use GIT to clone the repository to get the slides. Below is an example of the GIT clone. In the example, the user name is cs224ta, when you clone the repository, you will need to replace cs224ta with your username on the CS system.

$ git clone ssh://cs224ta@schizo.cs.byu.edu/~egm/public-git/cs224/slides.git
Initialized empty Git repository in /users/home2/cs224ta/tmp/lectures/.git/
cs224ta@cs.byu.edu's password: 
remote: Counting objects: 137, done.
remote: Compressing objects: 100% (103/103), done.
remote: Total 137 (delta 83), reused 60 (delta 34) 
Receiving objects: 100% (137/137), 10.63 MiB | 3763 KiB/s, done.
Resolving deltas: 100% (83/83), done.
Checking out files: 100% (21/21), done.

Again, please note that cs224ta should be your username. The above is only an example. Also, some version of GIT do not like the ~-expansion so you might need to include the full path after the “:” character.

If you are are using your open lab account and cloning into your open lab account, then you do not need the ssh directive and username; the path is just: ~egm/public-git/cs236/lectures.git

From C++ to C

A brief list of topics to Google in making the transition from C++ to C:

  • Truth values in C, booleans do NOT exist
  • Type casting
  • Control Flow
  • Loop variables inline declaration (differences from C++)
  • Ternary operators for conditionals
  • Prefix and postfix expressions
  • Assignment operators
  • Typedefs
  • Good Coding Practices
  • <ctypes.h> i.e. use generic data types such as uint32_t
  • Preprocessor directives
  • printf/scanf and associated macros
  • Pointers
  • malloc/free/null pointers
  • char* vs strings (and string library)
  • “Passing by reference” in C
  • Arrays vs. pointers
  • Enums, Structs, Unions
  • Copying Structs
  • Arguments to main (int argc, char** argv)
  • Keywords: static, volatile, assert
cs-224/supplemental-material.txt · Last modified: 2018/01/10 14:06 by egm
Back to top
CC Attribution-Share Alike 4.0 International
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0