Advanced programming 2014

Allikas: Kursused
Redaktsioon seisuga 19. september 2014, kell 20:29 kasutajalt Juhan (arutelu | kaastöö)
Mine navigeerimisribale Mine otsikasti

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.