You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<text-boxvariant='hint'name='Luokkakaavio kertoo luokat, muuttujat, konstruktorit, ja metodit'>
113
+
<text-boxvariant='hint'name='A class diagram describes classes, construcutors and methods'>
114
114
115
115
<!-- Luokkakaaviossa kuvataan luokat, muuttujat, konstruktorit, ja metodit sekä luokkien väliset yhteydet. Luokkakaavio ei kuitenkaan kerro mitään konstruktorien ja metodien sisäisestä toteutuksesta. Luokkakaaviolla kerrotaan siis olioiden rakenteesta, mutta luokkakaaviot eivät itsessään määrittele toiminnallisuutta. -->
116
116
A class diagram describes classes and their attributes, constructors and methods as well as the connections between classes. However a class diagram tells us nothing about the implementation of the constructors or the methods. Therefore a class diagram describes the structure of an object but not its functionality.
@@ -383,7 +383,7 @@ Inheritance of abstract classes is described almost the same way as regular clas
<programming-exercisename='Player and bot'nocoins='true'tmcname='part11-Part11_05.PlayerAndBot'>
386
+
<programming-exercisename='The Player And the Bot'nocoins='true'tmcname='part11-Part11_05.ThePlayerAndTheBot'>
387
387
388
388
<!-- Alla on kuvattu kaksi luokkaa, Pelaaja ja Tekoaly, sekä niiden välinen yhteys. Toteuta kuvatut luokat tehtäväpohjaan. -->
389
389
@@ -439,7 +439,7 @@ Below you'll see the interface Saveable and the class Person. Implement the cont
439
439
</programming-exercise>
440
440
441
441
442
-
<text-boxvariant='hint'name='Miten näitä kannattaa piirtää?'>
442
+
<text-boxvariant='hint'name='How these should be drawn?'>
443
443
444
444
<!-- Luokkakaaviot ovat erinomainen tapa kuvata ongelma-aluetta ja ongelman muotoa muille. Niiden käyttö on erittäin hyödyllistä myös silloin, kun ohjelmoija suunnittelee useammasta luokasta koostuvan ohjelman rakennetta. -->
445
445
Class diagrams are an excellent way to describe a problem and a problem-domain to others. They are particularily useful when a programmer is designing a program with multiple classes.
@@ -451,8 +451,9 @@ Class diagram should also be drawn in a suitable level of abstraction. For examp
451
451
452
452
453
453
<!-- Materiaalissa käytetyt luokkakaaviot on piirretty <a href="https://yuml.me/" target="_blank" norel>yUML</a>:n, <a href="https://creately.com" target="_blank" norel>Creately</a>n, ja <a href="https://www.draw.io/" target="_blank" norel>draw.io</a>:n. Myös NetBeansiin löytyy välineitä luokkakaavioiden luomiseen -- esimerkiksi <a href="http://plugins.netbeans.org/plugin/55435/easyuml" target="_blank" norel>easyUML</a> mahdollistaa luokkakaavioiden luomisen suoraan projektin koodista. -->
454
-
The class diagrams in the material have been drawn using <ahref="https://yuml.me/"target="_blank"norel>yUML</a>, <ahref="https://creately.com"target="_blank"norel>Creately</a>, and <ahref="https://www.draw.io/"target="_blank"norel>draw.io</a>.
455
-
NetBeans also has tools for drawing class diagrams -- for example the <ahref="http://plugins.netbeans.org/plugin/55435/easyuml"target="_blank"norel>easyUML</a> draws class diagrams from the source code.
454
+
455
+
<p>The class diagrams in the material have been drawn using <ahref="https://yuml.me/"target="_blank"norel>yUML</a>, <ahref="https://creately.com"target="_blank"norel>Creately</a>, and <ahref="https://www.draw.io/"target="_blank"norel>draw.io</a>.
456
+
NetBeans also has tools for drawing class diagrams -- for example the <ahref="http://plugins.netbeans.org/plugin/55435/easyuml"target="_blank"norel>easyUML</a> draws class diagrams from the source code.</p>
Copy file name to clipboardExpand all lines: data/part-11/2-packages.md
+3-7Lines changed: 3 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
path: '/part-11/2-packages'
3
3
title: 'Packages'
4
-
hidden: true
4
+
hidden: false
5
5
---
6
6
7
7
@@ -267,9 +267,7 @@ Within the exercise base, create three packages: `a`, `b`, and `c`. Create class
267
267
268
268
<!-- Kaikki NetBeansissa näkyvät projektit ovat tietokoneesi <a href="http://fi.wikipedia.org/wiki/Tiedostoj%C3%A4rjestelm%C3%A4" target="_blank">tiedostojärjestelmässä</a> tai jollain keskitetyllä levypalvelimella. Jokaiselle projektille on olemassa oma hakemisto, jonka sisällä on projektiin liittyvät tiedostot ja hakemistot. -->
269
269
270
-
Every project you see in NetBeans are in your computer's <ahref="https://en.wikipedia.org/wiki/File_system"target="_blank">file system</a> or on some centralized server.
271
-
272
-
<br/>
270
+
<p>Every project you see in NetBeans are in your computer's <ahref="https://en.wikipedia.org/wiki/File_system"target="_blank">file system</a> or on some centralized server.</p>
273
271
274
272
<!-- Projektin hakemistossa `src/main/java` on ohjelmaan liittyvät lähdekoodit. Jos luokan pakkauksena on kirjasto, sijaitsee luokka projektin lähdekoodihakemiston `src/main/java/kirjasto`-kansiossa. NetBeansissa voi käydä katsomassa projektien konkreettista rakennetta **Files**-välilehdeltä joka on normaalisti **Projects**-välilehden vieressä. Jos et näe välilehteä **Files**, saa sen näkyville valitsemalla vaihtoehdon **Files** valikosta **Window**. -->
275
273
@@ -1248,9 +1246,7 @@ In this exercise you will implement the application that was described above. Yo
1248
1246
1249
1247
<!-- Lentokenttä-tehtävässä toteutetaan lentokentän hallintasovellus. Lentokentän hallintasovelluksessa hallinnoidaan lentokoneita ja lentoja. Lentokoneista tiedetään aina tunnus ja kapasiteetti. Lennoista tiedetään lennon lentokone, lähtöpaikan tunnus (esim. <a href="http://en.wikipedia.org/wiki/Helsinki_Airport" target="_blank" rel="noopener">HEL</a>) ja kohdepaikan tunnus (esim. <a href="http://en.wikipedia.org/wiki/Batman_Airport" target="_blank" rel="noopener">BAL</a>). -->
1250
1248
1251
-
In this exercise you will implement a flight control application. It is used to control the airplanes and their flight routes. The system always knows the identifier and the capacity of an airplance. The flight information consists of the used airplane, the departure airport id (e.g. <ahref="http://en.wikipedia.org/wiki/Helsinki_Airport"target="_blank"rel="noopener">HEL</a>), and the destination airport ID (e.g. <ahref="http://en.wikipedia.org/wiki/Batman_Airport"target="_blank"rel="noopener">BAL</a>).
1252
-
1253
-
<br/>
1249
+
<p>In this exercise you will implement a flight control application. It is used to control the airplanes and their flight routes. The system always knows the identifier and the capacity of an airplance. The flight information consists of the used airplane, the departure airport id (e.g. <ahref="http://en.wikipedia.org/wiki/Helsinki_Airport"target="_blank"rel="noopener">HEL</a>), and the destination airport ID (e.g. <ahref="http://en.wikipedia.org/wiki/Batman_Airport"target="_blank"rel="noopener">BAL</a>).</p>
1254
1250
1255
1251
<!-- Sekä lentokoneita että lentoja voi olla useita. Samalla lentokoneella voidaan myös lentää useita eri lentoja. -->
Copy file name to clipboardExpand all lines: data/part-11/3-exceptions.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
path: '/part-11/3-exceptions'
3
3
title: 'Exceptions'
4
-
hidden: true
4
+
hidden: false
5
5
---
6
6
7
7
@@ -369,7 +369,7 @@ The methods of the `Calculator` class should be follow in the following manner:
369
369
</programming-exercise>
370
370
371
371
372
-
<text-boxvariant='hint'name='Poikkeusten tyypit'>
372
+
<text-boxvariant='hint'name='Types of exceptions'>
373
373
374
374
<!-- Edellä todettiin seuraavaa: *...poikkeuksia on karkeasti ottaen kahdenlaisia. On poikkeuksia jotka on pakko käsitellä, ja on poikkeuksia joita ei ole pakko käsitellä.*. -->
375
375
We said *...there are roughly two categories of exceptions. Exceptions which must be handled, and exceptions which do not have to be handled.*.
<!--TODO: puhutaan ohjelmakoodin kommunikoinnin tärkeydestä; kerrotaan siitä että yhteinen kuvauskieli auttaa tässä; todetaan, että kaaviot mahdollistavat kommunikoinnin, ilman että tarvitsee katsoa kooditasoa -- todetaan, että ohjelmia voi katsoa hyvin erilaisista näkövinkkeleistä; koodi on yksi, kaaviot on toinen, mutta on muitakin. -->
7
+
<!--Ohjelmistojen kehittäjät kommunikoivat toistensa kanssa monilla tavoilla. Ehkäpä tärkein kommunikointitapa on jokapäiväinen keskustelua, piirtämistä, ja ideointia sisältävä vuorovaikutus. Ohjelmistokehittäjät kommunikoivat myös tuotostensa kautta. Ohjelman lähdekoodi kommunikoi ohjelman tarkoituksen, ainakin silloin kun se on kirjoitettu ymmärrettävällä tavalla. Korkeamman abstraktiotason kommunikoinnissa käytetään erilaisia kaavioita, joista luokkakaaviot ovat eräs paljon käytetty kaaviotyyppi. Luokkakaaviot tarjoavat korkean tason kuvan ohjelman rakenteesta. Tässä osassa tutustuit luokkakaavioihin.
8
8
9
-
Please fill out the survey below!
9
+
Harjoittelit lisäksi poikkeustilanteisiin varautumista. Poikkeustilanteet ovat tilanteita, joissa ohjelman suoritus on päätynyt tilaan, missä sen ei pitäisi olla. Tällaiseen tulee varautua, koska ohjelma voi muuten kaatua. Kertasit myös tiedostojen lukemista ja tutustuit tiedostoihin kirjoittamiseen. Tiedostot säilyvät tietokoneen pysyväismuistissa, josta ne on löydettävissä myös vaikka tietokone sammuisi välillä. Vaikka käytämme erilaisia ohjelmistoja, jotka piilottavat tiedostojen käsittelyn, ovat tiedostot — sekä niiden lukeminen että niihin kirjoittaminen — krittinen osa tietoa käsitteleviä digitaalisia järjestelmiä. -->
Copy file name to clipboardExpand all lines: data/part-11/index.md
+2-4Lines changed: 2 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,20 +2,18 @@
2
2
path: '/part-11'
3
3
title: 'Part 11'
4
4
overview: true
5
-
hidden: true
5
+
hidden: false
6
6
---
7
7
8
8
<!-- Kurssimateriaalin yhdennessätoista osassa opit tulkitsemaan yksinkertaisia luokkakaavioita. Tutustut Javan pakkauksiin ja opit mistä `import`-lauseen osat muodostuvat. Harjoittelet Javan poikkeusten käyttöä ja opit sekä niiden käsittelyn että niiden eteenpäin heittämisen. Kertaat tiedon lukemista tiedostosta ja opit kirjoittamaan tietoa tiedostoon. -->
9
9
10
10
In the eleventh part you'll learn to decypher simple class diagrams. You'll become familiar with packages in Java and learn what the different parts of an `import` statement mean. You'll practise using exceptions in Java: how to throw and handle them. You'll take another look at reading data from a file, and learn to write data to a file.
11
11
12
-
Only the exercises for this part are currently available in English!
13
-
14
12
15
13
<please-login></please-login>
16
14
17
15
<pages-in-this-section></pages-in-this-section>
18
16
19
-
Yllä oleva sisällysluettelo sisältää kurssin yhdennentoista osan aihealueet. Kukin kurssin osa on suunniteltu siten, että siinä on työtä yhden viikon ajaksi. Kuhunkin kurssin osaan on hyvä varata reilusti yli kymmenen tuntia aikaa, riippuen aiemmasta tietokoneen käyttökokemuksesta. Ohjelmointia aiemmin kokeilleet saattavat edetä materiaalissa aluksi nopeamminkin.
17
+
The table of contents above lists the topics of the eleventh part of the course. The eleventh part has been designed to cover the eleventh week of the course. You should reserve well above 10 hours for each part of the course, depending on previous experience with computers. If you've tried programming before, you might advance faster in the beginning.
0 commit comments