Difference between revisions of "IAG0581 - Programming I"

From ATI public wiki
Jump to: navigation, search
(Lab computers)
 
(14 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[IAG0581 - Programmeerimine I|Eesti keelne leht]] [[File:Estonia.png | 32px | link=IAG0581 - Programmeerimine I]]
+
[[IAX0583 - Programmeerimine I|Eesti keelne leht]] [[File:Estonia.png | 32px | link=IAG0581 - Programmeerimine I]]
 
== Links ==  
 
== Links ==  
 
* [https://ois.ttu.ee/portal/page?_pageid=35,428610&_dad=portal&_schema=PORTAL&p_msg=&p_public=1&p_what=1&p_lang=ET&p_open_node2=&p_id=100807&p_mode=1&p_pageid=OKM_AINE_WEB_OTSING&_ainer_kood=iag0581 Course information in Study Information System OIS]
 
* [https://ois.ttu.ee/portal/page?_pageid=35,428610&_dad=portal&_schema=PORTAL&p_msg=&p_public=1&p_what=1&p_lang=ET&p_open_node2=&p_id=100807&p_mode=1&p_pageid=OKM_AINE_WEB_OTSING&_ainer_kood=iag0581 Course information in Study Information System OIS]
 
* '''[https://docs.google.com/document/d/1uf-X2HZC73b0U4mVBCY7D9wrrgBvu5UtlQJ5yvSJ90I/pub Announcements]'''
 
* '''[https://docs.google.com/document/d/1uf-X2HZC73b0U4mVBCY7D9wrrgBvu5UtlQJ5yvSJ90I/pub Announcements]'''
* '''[https://docs.google.com/spreadsheets/d/1MSrsvUsdJUbMzJ5MYUwNSj0BjIJKyZVvDaLv8uKlTMM/pubhtml?gid=882379455&single=true Results]'''
 
  
  
Line 13: Line 12:
 
''Risto Heinsar'' - http://www.blue.pri.ee/ttu/programming-i/
 
''Risto Heinsar'' - http://www.blue.pri.ee/ttu/programming-i/
  
 +
  
 
=== Moodle materials ===
 
=== Moodle materials ===
 
Self-registration from https://moodle.e-ope.ee/
 
Self-registration from https://moodle.e-ope.ee/
  
 +
==First homework==
 +
[http://ati.ttu.ee/~hkinks/iag0581/hw1/hw1_en.pdf Task description]
 +
 +
[http://www.tud.ttu.ee/im/Vladimir.Viies/materials/IAX0583Programmeerimine%20I/hw1_en.html Generating your variant]
 +
 +
Your homework should be properly formatted and the code you are presenting indented, commented according to the coding style:
 +
[http://blue.pri.ee/ttu/coding-style/ Coding style]
 
==General information==
 
==General information==
 
===Points system===
 
===Points system===
* 15p - I test
+
* 15p - II test
+
* 35p - test
 
* 15p - I homework
 
* 15p - I homework
 
* 15p - II homework
 
* 15p - II homework
* 40p - Labwork
+
* 60p - Labwork
 
* 10p - Bonus
 
* 10p - Bonus
  
Line 38: Line 45:
 
! Date !! Topic !! Deadlines
 
! Date !! Topic !! Deadlines
 
|-
 
|-
| 01.09.2015 || Introduction to Git, concept of the algorithm ||
+
| 04.09 || Introduction to Git, concept of the algorithm ||
 
|-
 
|-
| 15.09.2015 || Numeral systems, extremes and bubblesort, calendar || Possibility to write pre-exam
+
| 18.09 || Numeral systems, extremes and bubblesort, calendar || Possibility to write pre-exam
 
|-
 
|-
| 29.09.2015 || UML, Shell sort. ||
+
| 02.10 || UML, Shell sort. ||
 
|-
 
|-
| 13.10.2015 || Writing test I (only algorithm) || '''I test'''
+
|
 
|-
 
|-
| 27.10.2015 || C language, the basic language phrases, dialogue program || '''I homework''' (algoritm + programmikood)
+
| 30.10 || C language, the basic language phrases, dialogue program || '''I homework''' (algoritm + programmikood)
 
|-
 
|-
| 10.11.2015 || Sorting algorithm realization, subroutines ||  
+
| 13.11 || Sorting algorithm realization, subroutines ||  
 
|-
 
|-
| 24.11.2015 || Writing test II (writing code) || '''II test''' and '''II homework '''  
+
| 27.11 || Writing test II (writing code) || '''II test''' and '''II homework '''  
 
|-
 
|-
| 08.12.2015 || Final test(if necessary) ||
+
| 11.12 || Final test(if necessary) ||
 
|}
 
|}
 
http://www.tud.ttu.ee/im/Vladimir.Viies/materials/IAG0581,IAG0582,PROGRAMMEERIMINE/PR1/progr_I__eng/Progra1Cal5MVEB.xls
 
http://www.tud.ttu.ee/im/Vladimir.Viies/materials/IAG0581,IAG0582,PROGRAMMEERIMINE/PR1/progr_I__eng/Progra1Cal5MVEB.xls
Line 61: Line 68:
  
 
== Lab computers ==
 
== Lab computers ==
Labs are taking place in ICT-502.
+
Labs are taking place in ICT-121 122.
  
It is possible to connect remotely to ICT-502 linux computers through SSH. [http://mini.li.ttu.ee/~priit/IAY0340.2013/ssh_setup/putty_guide.html Remote SSH tutorial]
+
It is possible to connect remotely to ICT-121 122 501 linux computers through SSH. [http://mini.li.ttu.ee/~priit/IAY0340.2013/ssh_setup/putty_guide.html Remote SSH tutorial]
  
 
ICT-502 computers have both Windows 7 and OpenSUSE 13.1 Linux operating system installed. For this course Linux will be used. If the computer is in Windows, restart it and choose ''OpenSUSE 13.1'' from the boot menu.
 
ICT-502 computers have both Windows 7 and OpenSUSE 13.1 Linux operating system installed. For this course Linux will be used. If the computer is in Windows, restart it and choose ''OpenSUSE 13.1'' from the boot menu.
Line 100: Line 107:
 
man <command> #displays information about the specified command
 
man <command> #displays information about the specified command
 
</source>
 
</source>
Avamaks programmi taustal on võimalik käskudele lõppu lisada ampersandi (&). Näiteks SciTE&.
+
For opening a program in the background, so you can continue using terminal, you can use ampersand (&). For example:
 +
<source lang="bash" collapse="false>firefox&</source>
  
  
Line 108: Line 116:
 
* W drive - Personal web directory. You can access this through web by going to http://www.tud.ttu.ee/web/<UNI-ID USER>. Limit 50MB.
 
* W drive - Personal web directory. You can access this through web by going to http://www.tud.ttu.ee/web/<UNI-ID USER>. Limit 50MB.
 
* M drive - Materials
 
* M drive - Materials
 +
 +
To access the network drives from outside of TUT network, use SFTP server
 +
'''sftp.ttu.ee''' and log in with your Uni-ID. (Do not add @intra to the end of the user name)
 +
 +
For connecting to SFTP you can use e.g. FileZilla or WinScp.
  
 
=== Software ===
 
=== Software ===

Latest revision as of 17:24, 23 August 2023

Eesti keelne leht Estonia.png

Links


Materials

Vladimir Viies - http://www.tud.ttu.ee/im/Vladimir.Viies/materials/IAG0581,IAG0582,PROGRAMMEERIMINE/PR1/

Risto Heinsar - http://www.blue.pri.ee/ttu/programming-i/


Moodle materials

Self-registration from https://moodle.e-ope.ee/

First homework

Task description

Generating your variant

Your homework should be properly formatted and the code you are presenting indented, commented according to the coding style: Coding style

General information

Points system

  • 35p - test
  • 15p - I homework
  • 15p - II homework
  • 60p - Labwork
  • 10p - Bonus

Grade

  • < 50p - 0
  • 50p - 1
  • 60p - 2
  • 70p - 3
  • 80p - 4
  • 90p - 5

Lectures

Date Topic Deadlines
04.09 Introduction to Git, concept of the algorithm
18.09 Numeral systems, extremes and bubblesort, calendar Possibility to write pre-exam
02.10 UML, Shell sort.
30.10 C language, the basic language phrases, dialogue program I homework (algoritm + programmikood)
13.11 Sorting algorithm realization, subroutines
27.11 Writing test II (writing code) II test and II homework
11.12 Final test(if necessary)

http://www.tud.ttu.ee/im/Vladimir.Viies/materials/IAG0581,IAG0582,PROGRAMMEERIMINE/PR1/progr_I__eng/Progra1Cal5MVEB.xls

I homework task

http://www.tud.ttu.ee/im/Vladimir.Viies/materials/IAG0581,IAG0582,PROGRAMMEERIMINE/PR1/progr_I__eng/Homework%20I.pdf Formatting guidelines

Lab computers

Labs are taking place in ICT-121 122.

It is possible to connect remotely to ICT-121 122 501 linux computers through SSH. Remote SSH tutorial

ICT-502 computers have both Windows 7 and OpenSUSE 13.1 Linux operating system installed. For this course Linux will be used. If the computer is in Windows, restart it and choose OpenSUSE 13.1 from the boot menu.

Logging in to Linux

When presented with the login screen,

  1. Choose the domain INTRA
  2. Insert your Uni-ID username. If you do not have it, you can get one from ICT-410 or with ID-card/residence permit from the website https://pass.ttu.ee.
  3. Insert password and press enter

Beginning your work

Most of the time you will be needing terminal. The quickest way to open it is to right click on desktop and choose Open in Terminal.

Logging in
Opening terminal
Terminal

First thing you should type in is the command

cad

This will prepare the environment for work, so that the following commands for opening software will work later on.

Basic linux bash commands

ls #outputs the files in the current directory
ls -l #outputs the contents of the current directory as a list with additional information, like permissions and date modified.
ls -a #outputs all of the files in the current directory, including dot files.
ls -la #outputs the contents of the current directory, combining the preferences from two last commands
cd new #changing directory to folder named ''new'' that resides in the current directory
cd .. #changes directory to parent directory
cd ../new #changes directory to folder named ''new'' which resides in the parent directory
mkdir newfolder #creates new folder with name ''newfolder''
cp main.c main2.c #copies the file ''main.c'' to ''main2.c''
mv main.c main2.c #moves the file ''main.c'' to ''main2.c''
man <command> #displays information about the specified command

For opening a program in the background, so you can continue using terminal, you can use ampersand (&). For example:

firefox&


Network drives

Every student should have multiple network drives that they can access.

  • P drive - For personal files. Limit 200MB
  • W drive - Personal web directory. You can access this through web by going to http://www.tud.ttu.ee/web/<UNI-ID USER>. Limit 50MB.
  • M drive - Materials

To access the network drives from outside of TUT network, use SFTP server sftp.ttu.ee and log in with your Uni-ID. (Do not add @intra to the end of the user name)

For connecting to SFTP you can use e.g. FileZilla or WinScp.

Software

Compilation from terminal

For compiling code in terminal, there's a command gcc. For example when you have saved your source code into file hello.c, then to compile it, insert:

gcc -o hello hello.c

This will create a compiled, binary file named "hello". To make sure it really did so, we can check by inserting command ls, which will show the contents of the current directory.

Next, we can execute by typing

./hello

Compilation under windows

For compiling C under Windows, you will need to download either one of the following, which includes gcc compiler:



C/C++ Integrated Development Environments (IDE)

To open in lab computers, use command codeblocks


To open in lab computers, use command geany



Text editors with syntax highlight

To open in lab computers, use command SciTE



Diagram drawing tools

To open in lab computers, use command argouml


To open in lab computers, use command astah-com


To open in lab computers, use command yEd


To open in lab computers, use command jsp

SciTE
argoUML
yEd
Jackson System Programming (JSP) Editor