Advanced programming 2014
Course code: ITT8060
Lecturers: James Chapman, Juhan Ernits, Wolfgang Jeltsch
Contact: itt8060@cs.ttu.ee
Time and place:
Lectures: Wednesdays 10:00, ICT-A1 Labs: Wednesdays 12:00, ICT-401, (ICT-637 is a backup room)
You can download Visual Studio via the Microsoft DreamSpark program. You will need to register as a user at a local server and then wait for an e-mail from Dreamspark. Students will have access to a wide range of Microsoft products for study purposes at no cost.
If you want to set up your development environment in a virtual machine, you are welcome to get a license of VMware Workstation via the VMware Academic Program. You will need to contact us at vmware at cs.ttu.ee to gain access.
Installing F# tools on Linux is described here.
Installing F# tools on a Mac is described here.
For Dreamspark access please visit [1] and register an account.
Discussion group
Please joining the Q&A discussion group for the course. You are invited to ask questions related to course, but not concrete answers for homework questions. Everyone is encouraged to provide answers.
Textbook
- Tomas Petricek with Jon Skeet: Real-world functional programming with examples in F# and C#
- 10 copies at TUT: [2] - Several copies available in Tartu
- Additional textbook
Don Syme: Expert F#
- 5 copies at TUT: [3]
Lecture notes and courseworks
Available at [4].
Submission of courseworks
You are required to upload courseworks to a GIT repository provided by the university. The URL of the GIT repository is
https://firstname.lastname@git.ttu.ee/courses/itt8060/firstname.lastname.git
You should be able to clone the empty repository by running the following command
git clone https://firstname.lastname@git.ttu.ee/courses/itt8060/firstname.lastname.git
To submit the courseworks you should create appropriate subdirectories into the freshly cloned directory. For example, if your name is John Doe, then you would run the following commands from Git Bash:
To set your user details:
git config --global user.name "John Doe" git config --global user.email john.doe@example.com
To clone the repository and copy courseworks into it:
git clone https://john.doe@git.ttu.ee/courses/itt8060/john.doe.git cd john.doe mkdir coursework1
NB! Note that there is no "~" in the URL any more! Now copy coursework1.fsx into the newly created directory "coursework1" and run
git add coursework1/coursework1.fsx
To commit a logical set of changes you run commit:
git commit -a
To upload the contents to the server run
git push
If you have just cloned an empty repository, you will need to tell the remote server what branch you are on. There is more to it, but for now you need to do the following:
git push origin master
Later on just "git push" will do.
If you already have a local git repository, you can push it to the course server by redefining its remote master (again commands run from git bash):
git remote -v git remote rm origin git remote add origin https://john.doe@git.ttu.ee/courses/itt8060/john.doe.git git config master.remote origin
In the case both repositories are non-empty (which will not be your case for now), run:
git config master.merge refs/heads/master
NB! Remember to replace john.doe and firstname.lastname with your own TUT UNI-ID username!
Issues regarding the repository access should be reported to itt8060-git@cs.ttu.ee.
More details about how to use GIT will be available here later.