Erinevus lehekülje "Advanced programming 2014" redaktsioonide vahel

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti
P (Juhan teisaldas lehekülje Advanced programming pealkirja Advanced programming 2014 alla: Eelmise aasta lehekülg eraldi kohta.)
 
(ei näidata sama kasutaja 4 vahepealset redaktsiooni)
2. rida: 2. rida:
  
 
Lecturers: James Chapman, Juhan Ernits, Wolfgang Jeltsch
 
Lecturers: James Chapman, Juhan Ernits, Wolfgang Jeltsch
 +
 +
Assistant: Hendrik Maarand
  
 
Contact: itt8060@cs.ttu.ee
 
Contact: itt8060@cs.ttu.ee
25. rida: 27. rida:
 
Please joining the [https://groups.google.com/forum/embed/?place=forum/itt8060-2014 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.
 
Please joining the [https://groups.google.com/forum/embed/?place=forum/itt8060-2014 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 29 during the lecture. It will contriubte up to 5% of your
 +
final exam mark. In case you have some serious reason why you cannot be present on the 29th, you should let us know in writing by Monday, October 27th to itt8060@cs.ttu.ee.
  
 
== Textbook ==
 
== Textbook ==
37. rida: 43. rida:
  
 
- 5 copies at TUT: [http://tallinn.ester.ee/record=b2994544~S1*eng]
 
- 5 copies at TUT: [http://tallinn.ester.ee/record=b2994544~S1*eng]
 +
 +
* Additional textbook
 +
Michael R. Hansen, Hans Rischel: [http://www.cambridge.org/us/academic/subjects/computer-science/programming-languages-and-applied-logic/functional-programming-using-f Functional programming using F#]
 +
 +
- several copies available in the ATI library in Tartu.
  
 
==Lecture notes and courseworks==
 
==Lecture notes and courseworks==
47. rida: 58. rida:
 
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)
 
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://firstname.lastname@git.ttu.ee/courses/itt8060/firstname.lastname.git
+
  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
 
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
+
  git clone https://your-tut-username@git.ttu.ee/courses/itt8060/your-tut-username.git
 +
 
 +
===First time submission===
  
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 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 john.doe, then you would run the following commands from Git Bash:
  
 
To set your user details:
 
To set your user details:
66. rida: 79. rida:
 
  mkdir coursework1
 
  mkdir coursework1
  
NB! Note that there is no "~" in the URL any more!
+
NB! Note that there is no web access to your repository. Also the permissions have be pre-configured for you.
 +
 
 
Now copy coursework1.fsx into the newly created directory "coursework1" and run
 
Now copy coursework1.fsx into the newly created directory "coursework1" and run
  
77. rida: 91. rida:
 
To upload the contents to the server run
 
To upload the contents to the server run
  
 +
git push origin master
 +
 +
NB! Remember to replace john.doe with your own TUT UNI-ID username!
 +
 +
 +
 +
===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 myrepo
 +
 +
This command is also useful to check if your submission of homeworks has been useful. Just replace "myrepo" 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 myrepo
 +
 +
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
 
  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
+
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 [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi reference card] for survival tips.
  
Later on just "git push" will do.
+
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
  
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 status
  
git remote -v
+
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
git remote rm origin
+
do not want to be tracked, run "git rm file-not-to-be-tracked".
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:
+
To see the history of commits in the repository, run  
  
  git config master.merge refs/heads/master
+
  git log
  
NB! Remember to replace john.doe  and firstname.lastname with your own TUT UNI-ID username!
+
You can also visualise the history by running
  
Issues regarding the repository access should be reported to itt8060-git@cs.ttu.ee.
+
gitk
  
More details about how to use GIT will be available here later.
+
Further info available in the [http://git-scm.com/book Git book],

Viimane redaktsioon: 30. august 2015, kell 16:33

Course code: ITT8060

Lecturers: James Chapman, Juhan Ernits, Wolfgang Jeltsch

Assistant: Hendrik Maarand

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.

Important dates

The midterm test will take place on October 29 during the lecture. It will contriubte up to 5% of your final exam mark. In case you have some serious reason why you cannot be present on the 29th, you should let us know in writing by Monday, October 27th to itt8060@cs.ttu.ee.

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]

  • Additional textbook

Michael R. Hansen, Hans Rischel: Functional programming using F#

- several copies available in the ATI library in Tartu.

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 (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 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 web access to your repository. Also the permissions have be 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

To upload the contents to the server run

git push origin master

NB! Remember to replace john.doe with your own TUT UNI-ID username!


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 myrepo

This command is also useful to check if your submission of homeworks has been useful. Just replace "myrepo" 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 myrepo

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


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,