SZIMP2

A MathWikiből
(Változatok közti eltérés)
(hivatalos, házi feladatok)
1. sor: 1. sor:
 +
Ez a wikioldal a 2007 februárjától az alkalmazott matematikusok számára Informatika 2 (más néven SZIMP2) tárgy honlapja.
 +
 +
== Oktatók ==
 +
 +
* Az előadásokat és a gyakorlatokat tartja Szabó Péter <pts+i@math.bme.hu>, beceneve pts.
 +
* A házi feladatokat és a ZH-kat javítja, a konzultációk egy részét tartja Sisak Áron <aron@math.bme.hu>.
 +
 +
Egyéb személyek:
 +
 +
* Tárgyfelelős Wettl Ferenc <wettl@math.bme.hu>.
 +
* A Live CD-t készíti Erő Zsolt <zsero@math.bme.hu>.
 +
* Az előző félévben Pröhle Péter és Rácz Balázs oktatta a SZIMP2-t, akkor ez volt a tárgy honlapja: http://www.ilab.sztaki.hu/~bracz/p/cimp2_2006tavasz.html
 +
 +
== Tárgykövetelmények ==
 +
 +
A szorgalmi időszakban teljesítendő:
 +
 +
* A kiadott házi feladatok megoldása és beadása a [[SIO]] rendszerbe. Csak azt a feladatot kell beadni, amelynek a beadási határideje ezen a wikioldalon szerepel. Addig kell próbálkozni, amíg a rendszer OK-val el nem fogadja a megoldást. Az el nem fogadott megoldás és a meg sem kisérelt megoldás is 0 pontot ér feladatonként. Az elfogadott megoldás 1 pontot ér.
 +
* Az első ZH megírása. A ZH valószínűleg papíralapú lesz. Az első ZH témája: C programozási nyelv és egyszerű algoritmusok. Csak azt kell tudni, ami előadáson vagy gyakorlaton elhangzott. Puskát lehet majd használni.
 +
* A második ZH megírása. A ZH valószínűleg számítógéppel megoldandó lesz. A második ZH témája: Ruby programozási nyelv és objektum-orientált programozás. Csak azt kell tudni, ami előadáson vagy gyakorlaton elhangzott. Puskát lehet majd használni.
 +
 +
A félévközi jegy a fentieket összesítve kerül meghatározásra.
 +
 +
== Katalógus ==
 +
 +
A gyakorlatok látogatása kötelező, minden gyakorlaton van katalógus.
 +
 +
Az előadások látogatása nem kötelező.
 +
 +
== A hallgatók munkája ==
 +
 +
Előadáson a hallgatók figyelnek és jegyzetelnek. Legalább annyit leírnak, amennyi a táblára kerül.
 +
 +
Gyakorlaton a gyakorlat ideje alatt a hallgatók megcsinálják a kitűzött feladatot. Minden hallgatónak saját számítógépe van, amivel a feladatot megoldja. A gyakorlatvezető segít, és ellenőrzi is a megoldást. Amelyik hallgató kész van, és unatkozik, plusz feladatot kér vagy talál ki magának, és azt is megoldja. Gyakorlaton általában nem kell jegyzetelni. Füzetbe jegyzetelés helyett ajánlott tömören, de egyértelműen fájlba írni. A begépelendő kódrészleteket a hallgatók megkapják fájlban.
 +
 +
A hallgatók otthon tanulnak, például az ajánlott irodalomból, esetleg az órai jegyzetükből. A ZH-kra való felkészülés legjobb eszköze a gyakorlás: az elmélet bebiflázása helyett sokkal eredményesebb (a ZH és a jövő szempontjából is) egy adott feladatot adott módon megoldó program elkészítése, vagy ilyen példaprogramok tanulmányozása.
 +
 +
A hallgatók egyénileg (pl. otthon vagy a számítógép-laborban) megcsinálják a házi feladatokat, és beküldik a [[SIO]] rendszerbe. A beküldéshez internetelérés (web) szükséges.
 +
 +
A hallgatók megírják a ZH-kat.
 +
 +
A hallgatók a félév végén beiratják a jegyet.
 +
 +
== Ajánlott szoftverek ==
 +
 +
C nyelvhez Linux alatt ajánlott:
 +
 +
* sima szövegszerkesztő: kate
 +
* fordítóprogram: gcc
 +
* fejlesztőkörnyezet: Kdevelop
 +
* egyéb segédprogramok: strace, valgrind
 +
 +
C nyelvhez Windows alatt ajánlott:
 +
 +
* fejlesztőkörnyezet: Dev-C++: http://www.bloodshed.net/dev/devcpp.html Ezt kell letölteni: Dev-C++ 5.0 (9.0 MB) with Mingw/GCC.
 +
 +
Ruby nyelvhez Linux alatt ajánlott:
 +
 +
* sima szövegszerkesztő: kate
 +
* interpreter: ruby
 +
* fejlesztőkörnyezet: FreeRIDE http://rubyforge.org/frs/?group_id=31 freeride-linux-installer-0.9.6.sh
 +
 +
Ruby nyelvhez Windows alatt ajánlott:
 +
 +
* fejlesztőkörnyezet: FreeRIDE http://rubyforge.org/frs/?group_id=31 freeride-win-installer-0.9.6-1.exe
 +
 +
Erő Zsolt egy Live CD-t készít, amin a fenti linuxos szoftverek megtalálhatók, és hosszadalmas telepítés nélkül kipróbálhatók.
 +
 +
== Tananyag ==
 +
 +
* algoritmusok C nyelven
 +
* objektum-orientált programozás Ruby nyelven
 +
 +
Ajánlott irodalom:
 +
 +
* Standard C reference (2 oldalas) http://www.math.bme.hu/~pts/stdc2.pdf
 +
* Brian W. Kernighan--Dennis M. Ritchie: A C programozási nyelv. Az ANSI szerint szabványosított változkat. Kapható a jegyzetboltban.
 +
* ruby.hu ttp://segabor.web.elte.hu/ruby.hu/1_eloszo.html
 +
 +
== Konvenciók ==
 +
 +
A konvenciók mind a hallgatók, mind az oktatók számára kötelezően betartandók.
 +
 +
* A tárggyal kapcsolatos fájlokat mindenki a ~/szimp2 mappába helyezze.
 +
* Minden fájlnév és mappanév kisbetűs.
 +
* A fájlnevek ékezetes betűket nem tartalmaznak.
 +
* A forrásfájlok (*.c és *.rb) ékezetes betűket nem tartalmaznak.
 +
 +
== 1. gyakorlat (2007-02-13) ==
 +
 +
A gyakorlat célja, hogy a C nyelvű programozáshoz használandó eszközökkel megismerkedjünk. A bemutatott eszközök: kate, gcc, terminálablak. A gyakorlatnak nem célja megtanítani, hogy a program (pl. hello100.c) hogyan működik, miért azt csinálja, amit csinál, ezt majd előadáson tanuljuk meg.
 +
 +
Az szimp2 mappát és a tartalmát csupa kisbetűvel kell létrehozni, vagy ha nagybetűs lett, akkor át kell nevezni kisbetűre.
 +
 +
~/szimp2/hello.c:
 +
 +
#include <stdio.h>
 +
int main(void) {
 +
  printf("Hello, World!\n");
 +
  return 0;
 +
}
 +
 +
A sor elején levő szóközök (ún ''indentation'') nem a gép számára, hanem a programot olvasó ember számára hasznosak.
 +
 +
Hasznos parancsok (csak a $ utáni részt kell begépelni, a többit a gép írja ki).
 +
 +
$ mkdir ~/szimp2
 +
$ cd ~/szimp2
 +
$ kate hello.c
 +
$ gcc -W -Wall -s -O2 -o hello hello.c
 +
$ ./hello
 +
Hello, World!
 +
 +
~/szimp2/hello100.c:
 +
 +
#include <stdio.h>
 +
int main(void) {
 +
  int c;
 +
  for (c=0;c<100;c++) {
 +
    printf("Hello, World!\n");
 +
  }
 +
  return 0;
 +
}
 +
 +
Hasznos parancsok:
 +
 +
$ cd ~/szimp2
 +
$ kate hello100.c
 +
$ gcc -W -Wall -s -O2 -o hello100 hello100.c
 +
$ ./hello100
 +
Hello, World!
 +
...
 +
Hello, World!
 +
$ ./hello100 | wc -l
 +
100
 +
$ ./hello100 >hello100.out
 +
$ kate hello100.out
 +
 
== Házi feladatok ==
 
== Házi feladatok ==
  
A házi feladaatokat a [[SIO]] rendszer segítségével kell beadni.
+
A házi feladatokat a [[SIO]] rendszer segítségével kell beadni. Csak azokat kell beadni, amelyeknek a beadási határideje itt fel van tüntetve.
 +
 
 +
A többi [[SIO]]-beli feladatot szorgalmi feladatként lehet beadni. A szorgalmi feladatok megoldása elmélyíti a hallgató tudását, növeli a hallgató gyakorlati rátermettségét, és nagyban segíti a ZH-ra való felkészülést.
  
 
=== Kiírt házi feladatok ===
 
=== Kiírt házi feladatok ===
12. sor: 152. sor:
 
  | <tt>uc</tt>
 
  | <tt>uc</tt>
 
  | [https://sioweb.math.bme.hu/user.phtml?op=inc&id=6 https://sioweb.math.bme.hu/user.phtml?op=inc&id=6]
 
  | [https://sioweb.math.bme.hu/user.phtml?op=inc&id=6 https://sioweb.math.bme.hu/user.phtml?op=inc&id=6]
  | 2007. február 19., 24:00 CET
+
  | 2007. február 26., 24:00 CET
 
  |-  
 
  |-  
 
  | <tt>lcuc</tt>
 
  | <tt>lcuc</tt>
 
  | [https://sioweb.math.bme.hu/user.phtml?op=inc&id=6 https://sioweb.math.bme.hu/user.phtml?op=inc&id=6]
 
  | [https://sioweb.math.bme.hu/user.phtml?op=inc&id=6 https://sioweb.math.bme.hu/user.phtml?op=inc&id=6]
  | 2007. február 19., 24:00 CET
+
  | 2007. február 26., 24:00 CET
 
  |}
 
  |}
  
A házi feladatok listája elérhető a [[SIO]] rendszerben is [https://sioweb.math.bme.hu/user.phtml?op=zadania https://sioweb.math.bme.hu/user.phtml?op=zadania]
+
A házi feladatok listája elérhető a [[SIO]] rendszerben is: [https://sioweb.math.bme.hu/user.phtml?op=zadania https://sioweb.math.bme.hu/user.phtml?op=zadania]
  
 
{{védett}}
 
{{védett}}

A lap 2007. február 13., 17:28-kori változata

Ez a wikioldal a 2007 februárjától az alkalmazott matematikusok számára Informatika 2 (más néven SZIMP2) tárgy honlapja.

Tartalomjegyzék

Oktatók

  • Az előadásokat és a gyakorlatokat tartja Szabó Péter <pts+i@math.bme.hu>, beceneve pts.
  • A házi feladatokat és a ZH-kat javítja, a konzultációk egy részét tartja Sisak Áron <aron@math.bme.hu>.

Egyéb személyek:

Tárgykövetelmények

A szorgalmi időszakban teljesítendő:

  • A kiadott házi feladatok megoldása és beadása a SIO rendszerbe. Csak azt a feladatot kell beadni, amelynek a beadási határideje ezen a wikioldalon szerepel. Addig kell próbálkozni, amíg a rendszer OK-val el nem fogadja a megoldást. Az el nem fogadott megoldás és a meg sem kisérelt megoldás is 0 pontot ér feladatonként. Az elfogadott megoldás 1 pontot ér.
  • Az első ZH megírása. A ZH valószínűleg papíralapú lesz. Az első ZH témája: C programozási nyelv és egyszerű algoritmusok. Csak azt kell tudni, ami előadáson vagy gyakorlaton elhangzott. Puskát lehet majd használni.
  • A második ZH megírása. A ZH valószínűleg számítógéppel megoldandó lesz. A második ZH témája: Ruby programozási nyelv és objektum-orientált programozás. Csak azt kell tudni, ami előadáson vagy gyakorlaton elhangzott. Puskát lehet majd használni.

A félévközi jegy a fentieket összesítve kerül meghatározásra.

Katalógus

A gyakorlatok látogatása kötelező, minden gyakorlaton van katalógus.

Az előadások látogatása nem kötelező.

A hallgatók munkája

Előadáson a hallgatók figyelnek és jegyzetelnek. Legalább annyit leírnak, amennyi a táblára kerül.

Gyakorlaton a gyakorlat ideje alatt a hallgatók megcsinálják a kitűzött feladatot. Minden hallgatónak saját számítógépe van, amivel a feladatot megoldja. A gyakorlatvezető segít, és ellenőrzi is a megoldást. Amelyik hallgató kész van, és unatkozik, plusz feladatot kér vagy talál ki magának, és azt is megoldja. Gyakorlaton általában nem kell jegyzetelni. Füzetbe jegyzetelés helyett ajánlott tömören, de egyértelműen fájlba írni. A begépelendő kódrészleteket a hallgatók megkapják fájlban.

A hallgatók otthon tanulnak, például az ajánlott irodalomból, esetleg az órai jegyzetükből. A ZH-kra való felkészülés legjobb eszköze a gyakorlás: az elmélet bebiflázása helyett sokkal eredményesebb (a ZH és a jövő szempontjából is) egy adott feladatot adott módon megoldó program elkészítése, vagy ilyen példaprogramok tanulmányozása.

A hallgatók egyénileg (pl. otthon vagy a számítógép-laborban) megcsinálják a házi feladatokat, és beküldik a SIO rendszerbe. A beküldéshez internetelérés (web) szükséges.

A hallgatók megírják a ZH-kat.

A hallgatók a félév végén beiratják a jegyet.

Ajánlott szoftverek

C nyelvhez Linux alatt ajánlott:

  • sima szövegszerkesztő: kate
  • fordítóprogram: gcc
  • fejlesztőkörnyezet: Kdevelop
  • egyéb segédprogramok: strace, valgrind

C nyelvhez Windows alatt ajánlott:

Ruby nyelvhez Linux alatt ajánlott:

Ruby nyelvhez Windows alatt ajánlott:

Erő Zsolt egy Live CD-t készít, amin a fenti linuxos szoftverek megtalálhatók, és hosszadalmas telepítés nélkül kipróbálhatók.

Tananyag

  • algoritmusok C nyelven
  • objektum-orientált programozás Ruby nyelven

Ajánlott irodalom:

  • Standard C reference (2 oldalas) http://www.math.bme.hu/~pts/stdc2.pdf
  • Brian W. Kernighan--Dennis M. Ritchie: A C programozási nyelv. Az ANSI szerint szabványosított változkat. Kapható a jegyzetboltban.
  • ruby.hu ttp://segabor.web.elte.hu/ruby.hu/1_eloszo.html

Konvenciók

A konvenciók mind a hallgatók, mind az oktatók számára kötelezően betartandók.

  • A tárggyal kapcsolatos fájlokat mindenki a ~/szimp2 mappába helyezze.
  • Minden fájlnév és mappanév kisbetűs.
  • A fájlnevek ékezetes betűket nem tartalmaznak.
  • A forrásfájlok (*.c és *.rb) ékezetes betűket nem tartalmaznak.

1. gyakorlat (2007-02-13)

A gyakorlat célja, hogy a C nyelvű programozáshoz használandó eszközökkel megismerkedjünk. A bemutatott eszközök: kate, gcc, terminálablak. A gyakorlatnak nem célja megtanítani, hogy a program (pl. hello100.c) hogyan működik, miért azt csinálja, amit csinál, ezt majd előadáson tanuljuk meg.

Az szimp2 mappát és a tartalmát csupa kisbetűvel kell létrehozni, vagy ha nagybetűs lett, akkor át kell nevezni kisbetűre.

~/szimp2/hello.c:

#include <stdio.h>
int main(void) {
  printf("Hello, World!\n");
  return 0;
}

A sor elején levő szóközök (ún indentation) nem a gép számára, hanem a programot olvasó ember számára hasznosak.

Hasznos parancsok (csak a $ utáni részt kell begépelni, a többit a gép írja ki).

$ mkdir ~/szimp2
$ cd ~/szimp2
$ kate hello.c
$ gcc -W -Wall -s -O2 -o hello hello.c
$ ./hello
Hello, World!

~/szimp2/hello100.c:

#include <stdio.h>
int main(void) {
  int c;
  for (c=0;c<100;c++) {
    printf("Hello, World!\n");
  }
  return 0;
}

Hasznos parancsok:

$ cd ~/szimp2
$ kate hello100.c
$ gcc -W -Wall -s -O2 -o hello100 hello100.c
$ ./hello100
Hello, World!
...
Hello, World!
$ ./hello100 | wc -l
100
$ ./hello100 >hello100.out
$ kate hello100.out

Házi feladatok

A házi feladatokat a SIO rendszer segítségével kell beadni. Csak azokat kell beadni, amelyeknek a beadási határideje itt fel van tüntetve.

A többi SIO-beli feladatot szorgalmi feladatként lehet beadni. A szorgalmi feladatok megoldása elmélyíti a hallgató tudását, növeli a hallgató gyakorlati rátermettségét, és nagyban segíti a ZH-ra való felkészülést.

Kiírt házi feladatok

kód leírás beadási határidő
uc https://sioweb.math.bme.hu/user.phtml?op=inc&id=6 2007. február 26., 24:00 CET
lcuc https://sioweb.math.bme.hu/user.phtml?op=inc&id=6 2007. február 26., 24:00 CET

A házi feladatok listája elérhető a SIO rendszerben is: https://sioweb.math.bme.hu/user.phtml?op=zadania

Sablon:Védett

Személyes eszközök