Back to all courses

C-ohjelmoinnin perusteet

Individual course

Tämä kurssi on LUTin C-ohjelmoinnin peruskurssi, joka edellyttää ohjelmoinnin perusteiden osaamista. 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.

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.

Kurssin laajuus vastaa 81 tunnin työpanosta. Kurssi edellyttää ohjelmoinnin perusteiden osaamista ja kurssilla käsitellään C-kielen uudet konseptit sekä erot Python-kielen ratkaisuihin. 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 CT60A0203 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ä.

Kaikki kurssimateriaalit ovat saatavilla kurssin Moodle-ympäristössä ml. LUTin C-ohjelmointiopas (https://lutpub.lut.fi/handle/10024/162908), 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 siitä 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 ja 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.

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.2022 välisenä aikana 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 kurssin tehtävät tulee palauttaa viimeistään 31.7. Kaikki muut aikataulut ovat suosituksia, joiden tavoitteena on auttaa kurssin tekemistä. 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.

Kurssiin liittyy sähköinen EXAM-tentti. Tentissä on käytössä Linux-ohjelmointiympäristö ja tentissä tulee palauttaa toimiva ohjelma arvioitavaksi.

Suoritustapa

Palauttamalla kaikki kurssin tehtävät viimeistään 31.7. ja tekemällä tentin hyväksytysti elokuun loppuun mennessä kurssi kirjataan tehdyksi lukuvuonna 2021-2022. Syyskuussa tentin hyväksytysti tehneiden kurssisuoritus kirjataan lukuvuodelle 2022-2023.

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:

  1. Luennot 1-2: 10 tehtävää, näkyvissä ja tehtävissä kurssille ilmoittautuneille opiskelijoille.
  2. Luennot 3-4: 10 tehtävää, tulevat näkyville ja tehtäväksi kun on tehnyt kaikista kurssin tehtävistä 20% (6 kpl).
  3. 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 Palautus1 on 18.7.2022 klo 0600. Palauttamalla harjoitustyön Palautus1:nä sen voi tarvittaessa korjata ja palauttaa uudestaan Palautus2:na. Työn voi palauttaa myös aiemmin, jolloin se pyritään arvioimaan 1 viikon kuluessa.

Harjoitustyön Palautus2 on 31.7.2022 klo 2355. Palautus2 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. Tentissä on käytössä Linux-ohjelmointiympäristö ja tentissä tulee palauttaa toimiva ohjelma arvioitavaksi. Tenttiympäristön käyttöä voi harjoitella etänä lut-tunnuksilla osoitteessa https://one.lut.fi/. Ensimmäinen tenttimahdollisuus on 15.-31.7., toinen 8.-21.8. ja kolmas 16.-30.9.2022.

Arviointiskaala ja arviointimenetelmät:

Kurssin loppuarvosana on numero 0 – 5 ja se muodostuu seuraavista osa-alueista ja painoarvoista: EXAM-tentti 30%, harjoitustyö 30% ja viikkotehtävät 40%. 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

LUT University
Uolevi Nikula, ICT coordinator

Contact person for applications

FITech Network University
Fanny Qvickström, Student services specialist
Start here
Start here
Category:
ICT Studies
Topic:
Programming
Course code:
CT60A2500
Credits:
3 ECTS
Price:
0 €
Level:
Teaching period:
1.6.–31.7.2022
Application deadline:
Application period has ended
Host university:
LUT University
Study is open for:
Adult learner,
Degree student
Teaching methods:
Blended
Place of contact learning:
Lappeenranta
Language:
Finnish
General prerequisites:
Knowledge of basic programming concepts. Basic knowledge of Linux operating systems helps to operate in the Linux environment.
Interested in this course? Subscribe and get updates about the course directly to your email. You can cancel subscription any time you want.

This course is included in the following theme