Back to all courses

C-ohjelmoinnin perusteet

Individual course

Tämä kurssi on LUTin C-ohjelmoinnin peruskurssi, joka edellyttää ohjelmoinnin perusteiden osaamista. Kurssin tavoitteena on tutustua C-kielen erityispiirteisiin, saada rutiinia pienien C-ohjelmien tekemiseen ja tutustua C-kielen ratkaisuihin ohjelmien koon kasvaessa. Lisäksi kurssilla käsitellään C-kielen uudet konseptit sekä erot Python-kielen ratkaisuihin.Näin ollen kurssi valmistaa sen suorittajia ammattimaisiin ohjelmointitehtäviin.

Kurssin oppimateriaaleina toimivat LUTin C-ohjelmointiopas, ohjelmointivideot, luentokalvot ja -videot. Ohjelmointia harjoitellaan ohjelmia tekemällä, ja kurssi etenee 7 viikon aikana luentojen ja viikkotehtävien rytmittämänä. Kaikki kurssimateriaalit ovat LUTin Moodle-ympäristössä.

Ohjelmat kannattaa tehdä omalla koneella omassa Linux-ohjelmointiympäristössä, mutta ne voi tehdä myös LUTin tarjoaman etäyhteyden välityksellä. Kurssin sähköinen EXAM-tentti tehdään samassa LUTin Linux-ympäristössä. Kurssin suorittamisen tukena on keskustelufoorumi, jossa kurssilla olevat voivat kysyä neuvoa ja antaa vinkkejä muille kurssia suorittaville. Myös LUTin henkilökunta seuraa keskustelupalstaa ja vastaa kysymyksiin tarpeen mukaan.

Kurssin suorittaminen vaatii tietoista panostamista aiheeseen. 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 Johdatus ohjelmointiin -kurssi on suunniteltu erityisesti ohjelmointiin tutustumista varten.

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 saatavilla kurssin Moodle-ympäristössä. Viikkotehtävien tehtäväksiannot tulevat viikoittain Moodleen ja itse tehdyt ohjelmat palautetaan Moodleen, jossa automaattitarkastus arvioi ohjelmien oikean toiminnan ja antaa palautteen niistä välittömästi. Kurssilla käytetään gcc-kääntäjää Linux-käyttöjärjestelmässä ja EXAM-tentissä on käytössä samat työkalut. Kurssin alussa käydään läpi Linux-ympäristön asennus Windowsin WSL:ään. Linux-ympäristöä voi käyttää myös etäyhteyden kautta LUTin palvelimelta, joten kurssin tekeminen ei edellytä omaa Linux-järjestelmää.

Opetus

Kurssi etenee viikoittain lukujärjestyksen mukaisesti. Kaikki materiaali tulee Moodleen ja sen voi käydä läpi omassa aikataulussa viikoittain. Kurssin tehtävät tulee tehdä ja palauttaa viikoittain. Harjoitustyö julkaistaan viimeisellä luentoviikolla.

Kurssin ainoa läsnäoloa edellyttävä tapahtuma on sähköinen EXAM-tentti. Tentissä on käytössä Linux-ympäristö ja tentissä tulee palauttaa toimiva ohjelma arvioitavaksi.

Suoritustapa

Luentovideoita 8 h, omatoiminen opiskelu 14 h, pakollisten tehtävien teko 49 h. Tenttiin valmistautuminen 7 h ja tentti 3 h. Kokonaismitoitus 81 h.

Kurssiin liittyy kolme osasuoritusta:

  • Ohjelmointitehtävät eli viikkotehtävät (Tehtä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äviä on kurssin alkuvaiheessa 5 kpl viikoittain ja loppukurssista vähemmän.)
  • Harjoitustyö (Harjoitustyö julkaistaan viimeisellä luentoviikolla ja sen tekemiseen on aikaa noin kaksi viikkoa. Tarkemmat ohjeet ja aikataulut tulevat kurssin Moodle-sivulle.)
  • EXAM-tentti (Kurssista järjestetään 3 tenttimahdollisuutta maalis-huhtikuussa, jolloin tenttijät voivat varata itselleen sopivan tenttiajan noin kahden viikon ajanjaksolta ja käydä tentissä. Sähköisen EXAM-tentin voi tehdä Lappeenrannassa, Mikkelissä ja Lahdessa. Tarkemmat aikataulut löytyvät kurssin alkaessa Moodlesta.)

Arviointiskaala ja arviointimenetelmät

Kurssin loppuarvosana on numero 0–5 ja se muodostuu seuraavista osa-alueista ja painoarvoista: EXAM-tentti 50 %, harjoitustyö 25 % ja 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 course and studying

LUT University
Uolevi Nikula, ICT Coordinator

Contact person for applications

FITech Network University
Fanny Qvickström, Student services specialist
Application period has ended
Application period has ended
Topic:
Programming
Course code:
CT60A2500
Study credits:
3 ECTS
Price:
0 €
Course level:
Teaching period:
8.1.–23.2.2024
Application start date:
07.11.2023
Application deadline:
Application period has ended
Host university:
LUT University
Who can apply:
Adult learner,
Degree student
Teaching method:
Blended
Place of contact learning:
Lappeenranta
Teaching language:
Finnish
General prerequisites:
Ohjelmoinnin perusteiden osaaminen, esim. LUTin kurssilta Ohjelmoinnin perusteet. Linux-käyttöjärjestelmän perustiedot helpottavat toimintaa Linux-ympäristössä.
Interested in this course? Subscribe and get updates about the course directly to your email. You can cancel subscription any time you want.