Lecture slides for CS 2043. This repository has been designed to accompany the course website in the form of a git submodule.
You are in no way expected to complete all of these exercises, they are here for you to experiment if you want to. We will begin the exercise at the end of class, and I will release a solution (not the only solution) at some point soon after the demo is presented during class.
If you are uninterested, have something else you need to do, finish early, etc, you do not have to stay until class is done. Use these demos as a resource.
Contributions are welcome in the form of Pull Requests.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Initially, you will have to clone
this repository. The following example shows you how to put it on your
Desktop, but you can have it anywhere you want.
> cd ~/Desktop/
> git clone https://github.com/cs2043-sp16/lecture-demos.git
You now have the folder ~/Desktop/lecture-demos/
. To work on a specific exercise, simply cd
into the
directory. For example, if you want to work on the exercise for lecture 3, you will find it at
> cd ~/Desktop/lecture-demos/lec03/
Since you were already at ~/Desktop/
, though, you could also just cd lecture-demos/lec03
to work on that
specific exercise.
You now have a local copy of the demo repository on your computer. Unlike Dropbox, git
does not automatically
download things for you. Remember that .git/
folder? That is where the magic happens. Do not ever change,
delete, or add anything in this folder. When you do
> cd ~/Desktop/lecture-demos/
> ls -al
you will see the .git
folder. This means that you are at the top-level directory of a git
repository. Now
you can issue the
> git pull
command, and if the remote server has any updates on it you will be able to download them locally. As long as
you are in the lecture-demos
or any of its subdirectories, you can execute the above command to get new files!
You are welcome to work locally, you can git commit
your changes and they will be saved. However, soon we
will be setting up forks so that you can host your changes online (therefore giving you a backup). If you
know how to do this already, you are welcome to set it up now. If this is your first time using git
, please
wait until I show you how to do this in class.
I will (hopefully) not ever need to make any changes directly to the original files I push for each lecture demo,
and will instead be creating SOLUTION
files / folders where applicable. As long as you do not ever make a file
or folder named SOLUTION
(e.g. SOLUTION.md
, SOLUTION.sh
, SOLUTION/
, etc), you should not have any merge conflicts
when you do git pull
.