Erinevus lehekülje "Advanced programming - 2015" redaktsioonide vahel
P |
|||
8. rida: | 8. rida: | ||
Time and place: | Time and place: | ||
− | Lectures: Wednesdays 10:00, ICT-A1. ''NB! 1st lecture on September 9''!!! No lecture on September 2. | + | '''Lectures: Wednesdays 10:00, ICT-A1'''. ''NB! 1st lecture on September 9''!!! No lecture on September 2. |
− | Labs: Wednesdays 12:00, ICT-401. ''1st lab on September 2'', you are greeted by prof. Jüri Vain, you should get your Uni-ID-s sorted and if you do not have an ID card or residence permit with a chip, go to room SOC-132. | + | '''Labs: Wednesdays 12:00, ICT-401'''. ''1st lab on September 2'', you are greeted by prof. Jüri Vain, you should get your Uni-ID-s sorted and if you do not have an ID card or residence permit with a chip, go to room SOC-132. |
Past editions: [[Advanced programming 2014]] | Past editions: [[Advanced programming 2014]] |
Redaktsioon: 30. august 2015, kell 17:04
Course code: ITT8060
Lecturer: Juhan Ernits
Contact: juhan.ernits@ttu.ee NB! Mention ITT8060 in the subject line!
Time and place:
Lectures: Wednesdays 10:00, ICT-A1. NB! 1st lecture on September 9!!! No lecture on September 2.
Labs: Wednesdays 12:00, ICT-401. 1st lab on September 2, you are greeted by prof. Jüri Vain, you should get your Uni-ID-s sorted and if you do not have an ID card or residence permit with a chip, go to room SOC-132.
Past editions: Advanced programming 2014
You can download Visual Studio via the Microsoft DreamSpark program. You will need to register as a user at a local server [1] 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 [2] 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.
Important dates
The midterm test will take place on October 28 during the lecture. It will contribute up to 5% of your final exam mark. In case you have some serious reason why you cannot be present on the 28th, you should let us know in writing by Monday, October 26th to juhan.ernits@ttu.ee.
Textbooks
- Tomas Petricek with Jon Skeet: Real-world functional programming with examples in F# and C#
- 10 copies at TUT: [3] - Several copies available in Tartu
- Michael R. Hansen, Hans Rischel: Functional programming using F#
- Electronic edition available at TUT library (TUT Uni-ID required for login) [4]
- several paper copies available in the ATI library in Tartu.
- Additional textbook
Don Syme: Expert F#
- 5 copies at TUT: [5]
Lecture notes and courseworks
Available at [6].
Submission of courseworks
You are required to upload courseworks to a GIT repository provided by the university. The URL of the GIT repository is (please note that this cannot be accessed over a browser, it has to be accessed by a GIT client, either from http://git-scm.com or elsewhere)
https://your-tut-username@git.ttu.ee/courses/itt8060/your-tut-username.git
You should be able to clone the empty repository by running the following command
git clone https://your-tut-username@git.ttu.ee/courses/itt8060/your-tut-username.git
First time submission
To submit the courseworks the first time you should create appropriate subdirectories into the freshly cloned directory. For example, if your name is John Doe and your TUT Uni-ID user name is jodo, 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://jodo@git.ttu.ee/courses/itt8060/jodo.git cd jodo mkdir coursework1
NB! Note that there is no web access to your repository. Also the permissions have been pre-configured for you.
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
Your default text editor will be Vi unless your settings say otherwise. To make it easier, Esc + : + x saves and exits, Esc + : + q! quits without saving (note that + is a separator, i.e. you should not type +)
To upload the contents to the server run
git push origin master
NB! Remember to replace jodo with your own TUT UNI-ID username which you can find out from [7] if you have an ID card or residence permit, or from the kind admins in room ICT-409!
Submission of additional files to a non-empty repository
Once you have successfully submitted your first homework, you will be asked to submit further homeworks to the same repository.
We assume that you have a local copy of the repositori in directory called "myrepo". You can always clone a fresh copy by running the following command from Git Bash:
git clone https://your-tut-username@git.ttu.ee/courses/itt8060/your-tut-username.git mylocalrepodir
This command is also useful to check if your submission of homeworks has been useful. Just replace "mylocalrepodir" with some temporary directory to check what got uploaded to the GIT server.
When you modify a file that is already registered with git, e.g. you modify the coursework that you already committed and pushed, the only thing you need to do is commit the modifications and push them again.
The following assumes that you have a local copy of the repo and you have changed directory into that repository by running e.g.
cd mylocalrepodir
For example, you modified coursework1/coursework1.fsx and want to upload the modifications. What you need to do is to commit the changes:
git commit coursework1/coursework1.fsx -m "Description of the modifications"
And then, to upload the changes to the server by running
git push
To add new files, e.g. coursework2.fsx, you will need to run the "git add" command after copying the new file to the appropriate location in the myrepo directory:
git add coursework2/coursework2.fsx git commit coursework2/coursework2.fsx -m "Some message describing the commit" git push
NB! Never attempt to add directories. Git figures directories out automatically, you can only add files that have been already placed in appropriate directories.
If you run "git commit" without the "-m" switch, you will be prompted with the default text editor in your system. If you are using Git Bash, the editor tends to be Vim. Look at the Vi reference card for survival tips.
Issues regarding the repository access should be reported to itt8060-git@cs.ttu.ee.
If git seems to be doing something different from what you expect it to do, check what state it is in by running in myrepo
git status
The output will show which files are tracked and which are not. To track untracked files add them by "git add". If you accidentally added some files you do not want to be tracked, run "git rm file-not-to-be-tracked".
To see the history of commits in the repository, run
git log
You can also visualise the history by running
gitk
Further info available in the Git book.