C-ohjelmoinnin perusteet (kesätoteutus)
Individual course
Tämä kurssi on LUTin C-ohjelmoinnin peruskurssi, jolla käsitellään C-kielen uudet konseptit sekä erot Python-kielen ratkaisuihin. Tämän kurssin tavoitteena on tutustua C-kielen erityispiirteisiin, saada rutiinia pienien C-ohjelmien tekemiseen ja tutustua C-kielen ratkaisuihin ohjelmien koon kasvaessa. Näin ollen kurssi valmistaa sen suorittajia ammattimaisiin ohjelmointitehtäviin.
Kurssi sopii erityisesti tutkinto-opiskelijoille, jotka haluavat suorittaa yliopistotason C-ohjelmointikurssin pääosin etäopiskeluna. Kurssi sopii myös aikuisopiskelijoille, mutta jos tavoitteena on tutustua C-ohjelmointiin, on LUTin Ohjelmointi C-kielellä -kurssi sopivampi, sillä sen pystyy tekemään kokonaan etänä omassa tahdissa eikä siihen liity harjoitustyötä. Ohjelmoinnin ensimmäisenä kielenä LUTissa suositellaan Pythonia ja Johdanto ohjelmointiin -kurssi on suunniteltu erityisesti ohjelmointiin tutustumista varten.
Kurssin laajuus vastaa 81 tunnin työpanosta. Palautteen perusteella tämän kurssin suorittaminen omatoimisesti kahden kuukauden aikana vaatii tietoista panostamista asiaan.
Kurssin sisältö
C-ohjelmointikieli, osoittimet ja dynaaminen muistinhallinta, hyvä ohjelmointityyli ja make.
Osaamistavoitteet
Kurssin jälkeen opiskelija osaa
- luoda pieniä ohjelmia C-ohjelmointikielellä hyödyntäen peruskäskyjä, tietorakenteita ja kirjastoja.
- tehdä useista aliohjelmista ja tiedostoista muodostuvan ohjelman, jotta ohjelma on helppo ymmärtää, ylläpitää ja laajentaa.
- käyttää osoittimia ja dynaamista muistinvarausta linkitettyjen listojen luomiseen ja hallitsemiseen.
- käyttää make-ohjelmaa ohjelmien kääntämiseen.
Esitietovaatimukset
Kurssin suorittaminen edellyttää ohjelmoinnin perusteiden osaamista, jotka käsitellään esim. LUTin kurssilla Ohjelmoinnin perusteet. Linux-käyttöjärjestelmän perustiedot helpottavat toimintaa Linux-ympäristössä ja nämä asiat käsitellään esim. LUTin kurssilla CT30A3231 Linuxin perusteet.
Kurssimateriaali
Kaikki kurssimateriaalit ovat suomenkielisiä ja ne ovat saatavilla kurssin Moodle-ympäristössä ml. LUTin C-ohjelmointiopas, videot ja luentokalvot. Viikkotehtävien tehtäväksiannot ovat Moodlessa ja itse tehdyt ohjelmat palautetaan Moodleen, jossa automaattitarkastus arvioi ohjelmien oikean toiminnan ja antaa palautteen välittömästi.
Kurssin ohjelmointiympäristön asennusohje löytyy C-ohjelmointioppaan liitteenä ja sen lähtökohtana on Windows-käyttöjärjestelmä, WSL, Visual Studio Code -editori, gcc-kääntäjä ja make Ubuntu Linuxissa. EXAM-tentissä on käytössä Linux-ympäristö, jossa on käytössä samat ohjelmointityökalut. Linux-ympäristöä voi käyttää etäyhteyden kautta LUTin palvelimelta.
Ohjelmat kannattaa tehdä omalla koneella omassa ohjelmointiympäristössä. EXAM-tentissä ohjelmointiympäristönä toimii etäyhteyden kautta LUTin Horizon Linux. Kurssin suorittamisen tukena on keskustelufoorumi, jossa kurssilla olevat voivat kysyä neuvoa ja saada vastauksia. Kurssin aikana on tarjolla ohjaustuokioita, joiden aikana kurssin tukihenkilöt antavat henkilökohtaista etäneuvontaa tehtävien tekemiseen.
Opetus
Luentovideoita 8 h, omatoiminen opiskelu 14 h, pakollisten tehtävien teko 49 h. Tenttiin valmistautuminen 7 h ja tentti 3 h. Kokonaismitoitus 81 h.
Kurssin voi tehdä LUTin Moodle-ympäristössä 1.6.–31.7. itsenäisesti etäopiskeluna omassa aikataulussa tenttiä lukuun ottamatta.
Kurssi koostuu 7 osasta, jotka käsitellään lähiopetuskurssilla viikoittain ja siksi tälläkin kesäkurssilla puhutaan viikkotehtävistä. Kesäkurssilla tehtävien ainoa aikarajoite on, että kaikki tehtävät tulee palauttaa viimeistään 31.7. Muut aikataulut ovat suosituksia, joiden tavoitteena on auttaa kurssin tekemistä.
Suoritustapa
Kurssi etenee viikoittain lukujärjestyksen mukaisesti. Kaikki materiaalin voi käydä läpi omassa aikataulussa viikoittain. Tehtävien ja harjoitustyön palautukselle sekä tentille on aikataulut, jotka löytyvät Moodlesta kurssin alkaessa.
Palauttamalla kaikki kurssin tehtävät viimeistään 31.7. ja tekemällä tentin hyväksytysti elokuun loppuun mennessä kurssi kirjataan tehdyksi lukuvuonna 2023–2024. Syyskuussa tentin hyväksytysti tehneiden kurssisuoritus kirjataan lukuvuodelle 2024–2025.
Kurssilla on kolme erilaista tehtävätyyppiä ja ne tulevat saataville kurssin edetessä seuraavina kokonaisuuksina:
- Ohjelmointitehtävät eli viikkotehtävät
Ohjelmointitehtäviä on yhteensä 30 kpl ja tekemällä niistä 15 eli 50 % saa arvosanan 1, 60 %:lla saa arvosanan 2 jne. Kokonaispistemäärä ja arvosana ovat näkyvillä arviointikirjassa. Tehtävät tulevat näkyville kolmessa vaiheessa:
- Luennot 1-2: 10 tehtävää, näkyvissä ja tehtävissä kurssille ilmoittautuneille opiskelijoille.
- Luennot 3-4: 10 tehtävää, tulevat näkyville ja tehtäväksi kun on tehnyt kaikista kurssin tehtävistä 20 % (6 kpl).
- Luennot 5-7: 10 tehtävää, tulevat näkyville ja tehtäväksi kun on tehnyt kaikista kurssin tehtävistä 40 % (12 kpl).
- Harjoitustyö
Harjoitustyön tehtäväksianto tulee saataville, kun on saanut ohjelmointitehtävistä hyväksytyn arvosanan.
Harjoitustyön Palautus 1 on 15.7.2024 klo 6.00. Palauttamalla harjoitustyön Palautus 1:nä sen voi tarvittaessa korjata ja palauttaa uudestaan Palautus 2:na. Työn voi palauttaa myös aiemmin, jolloin se pyritään arvioimaan 1 viikon kuluessa.
Harjoitustyön Palautus 2 on 31.7.2024 klo 23.55. Palautus 2 -työt arvioidaan, mutta hylättyjä töitä ei voi lähtökohtaisesti korjata ja palauttaa uudestaan, koska kurssi päättyy heinäkuun loppuun.
- EXAM-tentti
Kurssilla on sähköinen EXAM-tentti, jonka voi tehdä Lappeenrannassa, Mikkelissä tai Lahdessa LUTin ylläpitämissä EXAM-luokissa. Huom. tenttiä ei voi tehdä tenttivierailuna missään toisessa yliopistossa/korkeakoulussa käytettävän Linux-ohjelmointiympäristön vuoksi. Ensimmäinen tenttimahdollisuus on 15.–31.7., toinen 1.–17.8. ja kolmas 16.–30.9.
Arviointiskaala ja arviointimenetelmät
Kurssin loppuarvosana on numero 0–5 ja se muodostuu seuraavista osa-alueista ja painoarvoista: tentti 50 %, harjoitustyö 25 %, viikkotehtävät 25 %. Kaikki osa-alueet ovat pakollisia eli niistä kaikista on saatava vähintään arvosana 1.
Lisätietoja LUT-yliopiston opinto-oppaassa.
Tämän kurssin suorituksesta on mahdollista saada digitaalinen suoritusmerkki.
C-ohjelmointikieli osoittimet dynaaminen muistinhallinta hyvä ohjelmointityyli make Linux ohjelmointitehtävät peruskurssi
Further information about the studies
Contact person for applications
Degree student