GIT

Git is one of the best revision control software. Distributed repository permit to work with it even in offline mode. Nice conflict management algorithms will help in most situation resolve problems with minimal human intrusion (or automatically).

Mostly the development cycle for students will be limited by pull -> change -> add -> commit -> push simple cycle. I will try give some hints here that may help in future.

Some more details about each of these commands

git pull
By executing this command you ask git in reality do two steps - fetch (connect to remote repository and get all new chunks of changes posted by other persons working in same repository) and after the fetch was passed it execute automatically merge all this changes to your local current project folder.
git add
This command will prepare files that you will mention as arguments for this command for next commit action. In fact when you modified several files you may decide to not include all of them in same commit, but do it in several steps for example. So prepending commit by add is very important step. Attention - to include deleted files into commit you need use -A argument or git rm command.
git commit
This command will generate new commit. Do it often. Do it with little amount of changed. Do not forget to pass each time -m "comments" argument in this command. It will permit you and other persons see the subject of changes without reading the full commit changed.
git push
This command will send all perviously created commits on your local project side to remote repository. If you see error during this action - as troubleshooting try to do git pull again. Probably somebody did push just between your previous pul and current push actions

Some additional commands that will help you in daily git

git status
This command show what is the current status of your files regarding the repository status. For example: which files were modified locally, which new files or folders were added or removed. How many commits were done locally and did not yet pushed to remote repository and so on. Execute this command each time you want to do add / rm or commit action.
git diff
When you see modified files from the git status command, sometime you need to see what exactly changed in the file. (usually not binary files like image, but text files). Command will show you changes in diff patch format. So you will see all new lines and removed lines marked by color and +- signs.
git checkout
You modified one file by mistake? You removed file or folder? So git checkout <filename> will help you to return back to last committed version of this file. That's why (once again) it is very important to do commit as ofter as possible.
git branch
We do not use this feature in full power. But anyway - try to execute git branch and it branch -r to see local and remote branches. You will see master branch and original/master branches. This is your local repository and copy of remote repository.
git fetch
This command do only get copy of remote repository to your local storage. It can be used by master of this repository to work with careful with students commits. It permit to make fetch data, see commits done by students and later if everything goes well (and git diff origin/master --stat show only reasonable changes done by students) execute git pull that will automatically merge it to local master. This command is important when in repository may work persons with not expert knowledge of git and that may by their actions brake files which they suppose do not touch.

Project management

For the project management I looked between the waterfall project management style and agile style. I more comfortable with the last one. So I selected Trello (trello.com)as the project management tool that I will use in my "main project" realization, following and scheduling.

I still have few projects in pipe. One of them is currently defined as the "Main project" but I still may change this decision. So in trello I created several boards:

For each of project I created initial list of stories that I can imagine I will need realize to archive my goal in each of projects:

And to have more details I decided to clarify each story by several tasks in checklist inside:

Web Site

Assignment: build a personal site in the class archive describing you and your final project

The Web site was done using the Bootstrap v3 css and provided by Aldo template (its source code)

All development was done using the Atom editor (atom.io):