Skip to content

Commit b1d03a4

Browse files
committed
Publish part 11
1 parent d4a10f0 commit b1d03a4

7 files changed

Lines changed: 21 additions & 25 deletions

File tree

course-settings.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ const courseSettings = {
2828
{ separator: true, title: "Java Programming I" },
2929
],
3030
sidebarFuturePages: [
31-
{ title: "Part 11", tba: "7.4." },
3231
{ title: "Part 12", tba: "21.4." },
3332
{ title: "Part 13", tba: "28.4." },
3433
{ title: "Part 14", tba: "5.5." },

data/part-11/1-class-diagrams.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
path: '/part-11/1-class-diagrams'
33
title: 'Class diagrams'
4-
hidden: true
4+
hidden: false
55
---
66

77

@@ -110,7 +110,7 @@ We also write the return type of a method to the class diagram.
110110
<img src="../img/diagrams/part4.1-classdiagram-person-name-age-constructor-print.png" alt="[Person|-name:String;-age:int|+Person(initialName:String);+printPerson():void]">
111111

112112

113-
<text-box variant='hint' name='Luokkakaavio kertoo luokat, muuttujat, konstruktorit, ja metodit'>
113+
<text-box variant='hint' name='A class diagram describes classes, construcutors and methods'>
114114

115115
<!-- 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. -->
116116
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
383383
<img src="../img/diagrams/part11.1-classdiagram-abstracts.png" />
384384

385385

386-
<programming-exercise name='Player and bot' nocoins='true' tmcname='part11-Part11_05.PlayerAndBot'>
386+
<programming-exercise name='The Player And the Bot' nocoins='true' tmcname='part11-Part11_05.ThePlayerAndTheBot'>
387387

388388
<!-- Alla on kuvattu kaksi luokkaa, Pelaaja ja Tekoaly, sekä niiden välinen yhteys. Toteuta kuvatut luokat tehtäväpohjaan. -->
389389

@@ -439,7 +439,7 @@ Below you'll see the interface Saveable and the class Person. Implement the cont
439439
</programming-exercise>
440440

441441

442-
<text-box variant='hint' name='Miten näitä kannattaa piirtää?'>
442+
<text-box variant='hint' name='How these should be drawn?'>
443443

444444
<!-- 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. -->
445445
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
451451

452452

453453
<!-- 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 <a href="https://yuml.me/" target="_blank" norel>yUML</a>, <a href="https://creately.com" target="_blank" norel>Creately</a>, and <a href="https://www.draw.io/" target="_blank" norel>draw.io</a>.
455-
NetBeans also has tools for drawing class diagrams -- for example the <a href="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 <a href="https://yuml.me/" target="_blank" norel>yUML</a>, <a href="https://creately.com" target="_blank" norel>Creately</a>, and <a href="https://www.draw.io/" target="_blank" norel>draw.io</a>.
456+
NetBeans also has tools for drawing class diagrams -- for example the <a href="http://plugins.netbeans.org/plugin/55435/easyuml" target="_blank" norel>easyUML</a> draws class diagrams from the source code.</p>
456457

457458
</text-box>
458459

data/part-11/2-packages.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
path: '/part-11/2-packages'
33
title: 'Packages'
4-
hidden: true
4+
hidden: false
55
---
66

77

@@ -267,9 +267,7 @@ Within the exercise base, create three packages: `a`, `b`, and `c`. Create class
267267

268268
<!-- 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. -->
269269

270-
Every project you see in NetBeans are in your computer's <a href="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 <a href="https://en.wikipedia.org/wiki/File_system" target="_blank">file system</a> or on some centralized server.</p>
273271

274272
<!-- 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**. -->
275273

@@ -1248,9 +1246,7 @@ In this exercise you will implement the application that was described above. Yo
12481246

12491247
<!-- 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>). -->
12501248

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. <a href="http://en.wikipedia.org/wiki/Helsinki_Airport" target="_blank" rel="noopener">HEL</a>), and the destination airport ID (e.g. <a href="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. <a href="http://en.wikipedia.org/wiki/Helsinki_Airport" target="_blank" rel="noopener">HEL</a>), and the destination airport ID (e.g. <a href="http://en.wikipedia.org/wiki/Batman_Airport" target="_blank" rel="noopener">BAL</a>).</p>
12541250

12551251
<!-- Sekä lentokoneita että lentoja voi olla useita. Samalla lentokoneella voidaan myös lentää useita eri lentoja. -->
12561252

data/part-11/3-exceptions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
path: '/part-11/3-exceptions'
33
title: 'Exceptions'
4-
hidden: true
4+
hidden: false
55
---
66

77

@@ -369,7 +369,7 @@ The methods of the `Calculator` class should be follow in the following manner:
369369
</programming-exercise>
370370

371371

372-
<text-box variant='hint' name='Poikkeusten tyypit'>
372+
<text-box variant='hint' name='Types of exceptions'>
373373

374374
<!-- Edellä todettiin seuraavaa: *...poikkeuksia on karkeasti ottaen kahdenlaisia. On poikkeuksia jotka on pakko käsitellä, ja on poikkeuksia joita ei ole pakko käsitellä.*. -->
375375
We said *...there are roughly two categories of exceptions. Exceptions which must be handled, and exceptions which do not have to be handled.*.

data/part-11/4-processing-files.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
path: '/part-11/4-processing-files'
33
title: 'Processing files'
4-
hidden: true
4+
hidden: false
55
---
66

77

data/part-11/5-conclusion.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
---
22
path: '/part-11/5-conclusion'
33
title: 'Conclusion'
4-
hidden: true
4+
hidden: false
55
---
66

7-
<!-- 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.
88
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ä. -->
1010

11-
<quiz id="f3f3b8b9-4725-5c89-9c52-a6e1ae289d81"></quiz>
11+
Finally, please take a moment to answer a self-reflective survey on the learning goals of the eleventh part.
12+
13+
<quiz id="ae09e3d8-8a97-4937-8837-e60ff43296bd"></quiz>

data/part-11/index.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,18 @@
22
path: '/part-11'
33
title: 'Part 11'
44
overview: true
5-
hidden: true
5+
hidden: false
66
---
77

88
<!-- 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. -->
99

1010
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.
1111

12-
Only the exercises for this part are currently available in English!
13-
1412

1513
<please-login></please-login>
1614

1715
<pages-in-this-section></pages-in-this-section>
1816

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.
2018

2119
<exercises-in-this-section></exercises-in-this-section>

0 commit comments

Comments
 (0)