Opintojaksot CT10A0006 Valittujen Code Camp (1op) Valittujen Code Freshmen Code Camp Huom Intensiivijakso (viikonloppu kesällä opiskelijaksi hyväksymisen jälkeen) Suomi Viikonloppu kesällä, heinäkuun alussa tutkijaopettaja, TkT Uolevi Nikula LUT Tietotekniikan koulutusohjelmaan valitut henkilöt tutustuvat koulutusohjelman toimintaan, henkilökuntaan ja opiskelijoihin sekä LUT:iin opiskelupaikkana. Ohjelmakehityksen vaiheiden läpikäynti käytännön harjoituksen yhteydessä mukaan lukien ohjelmien innovointi, määrittely, suunnittelu, toteutus ja testaus. Harjoituksen aihe sovitaan yhteisesti opintojakson alussa ja työ tehdään ryhmätyönä vanhempien opiskelijoiden ohjauksessa. Kurssin yhteydessä tutustutaan myös LUT:iin opiskelupaikkana ja keskustellaan opiskelusta Tietotekniikan koulutusohjelman vanhojen opiskelijoiden kanssa. Aktiivinen osallistuminen opintojaksolle pe-su (20 h). Loppuraportti ja sen suullinen esitys fuksiviikon aikana (6 h). Hyväksytty/hylätty. Ilmoitetaan opintojakson alussa. Hyväksytty opiskelijaksi LUT Tietotekniikan koulutusohjelmaan ja opinnot eivät ole vielä alkaneet. Ei edellytä erityisosaamista esim. ohjelmointiin liittyen. 1
CT10A0011 Laboratory Work Course in Computer Science (10-30op) Laboratory Work Laboratory Work Course in Computer Science Vastuuopettaja: professori Jari Porras Huom The course is only intended for foreign visiting students. The students register for the course by contacting the supervisor. Englanti 1-4 Professor, D.Sc. (Tech.) Jari Porras Professor, Ph.D. Ahmed Seffah Student has a deeper understanding in Computer Science in a specialized area. A specific project which is planned together with the supervisor and consists mainly of laboratory work, literature work and report writing. The course may contain lectures and seminars. Participation in the work of the research group and the research report, self-study 260-840 h. 0-5 or passed/failed. Literature related to the project. CT10A0015 Introduction to M.Sc. Studies in Computer Science (1op) Introduction to Introduction to M.Sc. Studies in Computer Science Englanti 2
M.Sc. (Tech.) 1 1-4 Associate Professor, D.Sc. (Tech.) Uolevi Nikula The course provides the student with basic knowledge of studying at Lappeenranta University of Technology (LUT), Finland, in general and particularly in his/her school and degree programme. The course is aimed to help students to plan their studies at LUT and follow the progress of their studies with the help of an individual study plan. Students recognize their own learning strategy and learn about information retrieval and the information sources available at LUT for courses and studying by using the Academic Library s services, collections and databases. The Orientation Days activities. Practical study-related information. Degree requirements. Planning of Master s studies. Preparation of the individual study plan. Monitoring the progress of studies with the Academic Director and Study Councellor. The Academic Library collections and databases. Participation in the Orientation Days. Planning the individual study plan. Library introduction lectures and assignments on information retrieval and library databases on Moodle (Period 1). Study programme meetings with the Academic Director and Study Councellor (Periods 1-4). Assignments: individual study plan, library assignments. Independent study. Total 26 h. Pass/Fail (assignments, active participation in study programme meetings) Materials will be announced during the course. CT10A0102 Johdatus tietotekniikan opiskeluun (3op) Johd tietotekn Introduction to Studying Computer Science Suomi 3
TkK 1 1-4 tutkijaopettaja, TkT Uolevi Nikula Opintojakson suoritettuaan opiskelija tiedostaa yliopisto-opiskeluun liittyvät vaatimukset ja käytänteet. Opiskelija perehtyy opiskelussa tarvittaviin työvälineisiin ja tiedonhaun kanaviin. Opiskelija omaksuu opiskelun tehostamiseksi tarvittavia tietoja ja taitoja ja ymmärtää yrittäjämäisen oppimisen perusteet. Opiskelija: - osaa hyödyntää yliopiston omia ja ulkoisia tietokantoja hankkiakseen opiskelussa tarvittavaa tieteellistä tietoa - tunnistaa eri oppimistyylit - osaa suunnitella ja seurata opiskeluun liittyvää ajankäyttöään - osaa laatia opintosuunnitelman, joka vastaa hänen henkilökohtaisia uratavoitteitaan ja vahvuuksiaan. - osaa seurata opintosuunnitelman toteutumista ja tämän edellyttämiä korjaavia toimenpiteitä. Opiskeluun liittyvät käytännön asiat, oppimistyylit, yrittäjämäinen oppiminen, ajanhallinta, tavoitteiden asettaminen ja niiden saavuttamisen seuranta, itsensä johtaminen, kirjaston tietokannat ja tiedonhaku, opintosuunnitelman ja urasuunnitelman laatiminen, lähdeviittaustekniikka. Luennot 16 h, 1.-4. periodi. Kirjastokäynti, 1 h, 1. periodi. HOPS:n toteutus ja seuranta 6 h. Oppimispäiväkirjan laadinta ja harjoitustehtävien itsenäinen valmisteleminen sekä muihin järjestettäviin tilaisuuksiin osallistuminen 57 h. Kokonaismitoitus 80 h. Tehtävät: 1. Oppimispäiväkirja liitteineen 2. Tiedonhaun perusteet (1. periodi) 3. Henkilökohtainen opintosuunnitelma (HOPS) ja sen pitäminen ajan tasalla Hyväksytty/hylätty. Itseopiskelutehtävien ja oman HOPS:n hyväksytty tekeminen. 1. Luentokalvot 2. Muu ilmoitettu materiaali Avoin yliopisto Opintojaksolla on 1-10 opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen 4
CT10A0300 Vertaistuutorointi (3op/1.67ov) Vertaistuutoroi Peer Student Tutoring Suomi ja englanti 4, 1-2 Projektipäällikkö Tanja Karppinen Opintojakson suoritettuaan opiskelija osaa kuvata yliopiston opiskeluympäristön kokonaisuutena ja sen keskeisimmiltä osiltaan. Hän osaa neuvoa uutta opiskelijaa LUT:n opiskelun käytännöissä ja tukea uutta opiskelijaa opinnoissa alkuun. Opintojakson suoritettuaan opiskelija osaa toimia pienryhmäohjaajana. Tuutoritoiminnan merkitys, pienryhmänohjaus- ja vuorovaikutustaidot, ajanhallinta ja motivaatio opiskelussa, uusien opiskelijoiden tutustuttaminen yliopistoon, opiskeluun ja opiskelijayhteisöön sekä opiskelussa tarvittaviin työvälineisiin. Tuutorit valitaan helmi-maaliskuussa, erikseen ilmoitetun haun perusteella. Koulutus alkaa 4. periodilla järjestettävillä pakollisilla koulutustilaisuuksilla ja päättyy seuraavan lukuvuoden 2. periodin lopussa. Koulutus sisältää luentoja opiskeluun ja pienryhmäohjaukseen liittyvistä asioista, toiminnallisia harjoituksia ja ryhmätyöskentelyä, verkkotehtäviä ja perehtymistä koulutusohjelmakohtaisiin asioihin. Tuutori ohjaa uusien opiskelijoiden pienryhmää syksyllä ensimmäisen periodin aikana ja kokoontuu ryhmän kanssa noin kymmenen kertaa. Tuutori laatii kirjallisen loppuraportin ja osallistuu loppupalautetilaisuuteen. Koulutustilaisuuksia 16 h, verkkotehtävät ja muu itsenäinen työskentely 12 h 4. periodi. Koulutustilaisuus 6 h elokuun lopussa, oman pienryhmän tuutorointi 20 h, verkkotehtävät, loppuraportti ja muu itsenäinen työskentely 14 h ja palautetilaisuus 2 h 1. ja 2 periodi. Kokonaismitoitus 70 h. Hyväksytty/hylätty. Tuutorointityö ja raportti. Erikseen jaettava materiaali koulutuksen yhteydessä ja verkkomateriaali. CT10A0400 Tekniikan kandidaatin tutkinnon työharjoittelu (2op) Tekniikan kandi Work Internship in Bachelor s Degree Suomi ja englanti 5
TkK 1-3 1-4 dosentti, TkT Ossi Taipale Opiskelija tietää käytännön omakohtaisen kokemuksen avulla, mitä on palkkatyö, millaista on työskentely työnantajan palveluksessa, mitkä ovat työelämän peruspelisäännöt työntekijän näkökulmasta ja miten työyhteisössä toimitaan. Opiskelija hakeutuu yritykseen (kesä)töihin, työskentelee siellä työntekijänä työsuhteessa, pyytää työstä työtodistuksen ja hyväksyttää työn tekniikan kandidaatin tutkinnon harjoitteluksi. Harjoitteluun hyväksyttävän työsuhteen kesto on vähintään 4 viikkoa kokoaikaisessa työsuhteessa. Kandidaatintyön tekemistä ei hyväksytä harjoitteluksi. Harjoittelun tarkastajan harkinnan mukaan harjoitteluksi voidaan hyväksyä myös ennen opintojen alkamista tehty työ, jota ei ole hyväksytty opiskelijan aiempiin tutkintoihin Työn hakua ja rekrytointia 10 h, työsuhteen aloittamiseen liittyviä tehtäviä (esim. perehdytys, työsuhteen ja työpaikan pelisäännöt) 15 h, työyhteisön toimintojen havainnointia työnteon ohessa (esim. töiden/tuotannon organisointitavat, johtaminen, työyhteisön/tiimien työskentelytavat, työpaikan sosiaalinen toiminta) 22 h, kirjallinen harjoitteluraportti 5 h (laajuus 2-3 sivua). Kokonaismitoitus 52 h. Vaihtoehtoisesti työharjoittelun voi suorittaa TYYLI-hankkeen pilotissa lukuvuonna 2016-17. Hyväksytty-hylätty, harjoitteluraportti 100 %. Liittyy kestävään kehitykseen CT10A0500 DI-tutkinnon työharjoittelu (2-10op) DI-tutkinnon ty Work Internship in Master s Degree Suomi ja englanti 6
DI 1-2 1-4 dosentti, TkT Ossi Taipale Opiskelijalla on perustuntemus jostakin oman alan työstä, työympäristöstä ja työyhteisöstä. Hän osaa soveltaa jo hankittuja tietoja ja taitoja johonkin oman alansa työhön. Opiskelija hakeutuu yritykseen (kesä)töihin, työskentelee siellä työntekijänä palkallisessa työsuhteessa, pyytää työstä työtodistuksen ja hyväksyttää työn DI-tutkinnon harjoitteluksi. Harjoitteluun hyväksyttävien työsuhteiden kesto on vähintään 4 viikkoa kokoaikaisessa työsuhteessa. Diplomityön tekemistä ei hyväksytä harjoitteluksi. Harjoittelun tarkastajan harkinnan mukaan harjoitteluksi voidaan hyväksyä myös ennen opintojen alkamista tehty työ, jota ei ole hyväksytty opiskelijan aiempiin tutkintoihin. Ensimmäiset 2 opintopistettä: työn hakua ja rekrytointia 10 h, työsuhteen aloittamiseen liittyviä tehtäviä (esim. perehdytys, työsuhteen ja työpaikan pelisäännöt) 15 h, työyhteisön toimintojen havainnointia työnteon ohessa (esim. töiden/tuotannon organisointitavat, johtaminen, työyhteisön/tiimien työskentelytavat, työpaikan sosiaalinen toiminta) 22 h, kirjallinen harjoitteluraportti 5 h (laajuus 2-3 sivua), Kokonaismitoitus 52 h. Opintopisteet 3-10: yrityksen työtehtävissä työskentelyä 26-208 h (1 op/26 h). Tutkinnon pakollisen harjoittelun määrä vaihtelee eri ohjelmissa, lisätietoja opinto-oppaan tutkintorakenneosuudesta ja Uni-portaalista: https://uni.lut.fi/fi/web/guest/tyoharjoittelu6. Vaihtoehtoisesti työharjoittelun voi suorittaa TYYLI-hankkeen pilotissa lukuvuonna 2016-17. Hyväksytty-hylätty, harjoitteluraportti 100 %. Liittyy kestävään kehitykseen CT10A4000 Kandidaatintyö ja seminaari (10op/5.56ov) Kandidaatintyö Bachelor s Thesis and Seminar Suomi ja englanti 7
TkK 3 Opintojakso suoritetaan joko syksyllä periodeissa 1-2, keväällä periodeissa 3-4 tai kesällä. tutkijatohtori, TkT Ari Happonen Opintojakson suoritettuaan opiskelija kykenee suunnittelemaan, aikatauluttamaan ja toteuttamaan itsenäisesti projektityön ja raportoimaan työnsä tulokset kirjallisesti sekä suullisesti. Opiskelija osaa kerätä ja jäsentää tieteellisen kirjoitelman kannalta oleellista tietoa ja suhteuttaa oman työnsä aihepiirin vallitsevaan nykytilaan ja ymmärtää lähdemateriaalin merkityksen työn asemoinnissa tieteelliseen keskusteluun. Lisäksi opiskelija osaa kriittisesti arvioida tuottamiensa ratkaisujen uutuusarvoa ja yleisempää sovellettavuutta. Tietotekniikan alueella tehtävä itsenäinen suunnittelu- ja toteutusprojekti. Työtä aloitettaessa otetaan yhteys kurssin vastuuopettajaan. Työ suoritetaan itsenäisenä työskentelynä. Lisäksi suoritus sisältää seminaaritilaisuuksiin osallistumista sekä tehdyn työn ansioiden ja uutuusarvon esittelevän julkaisukelpoisen tiivistelmän tuottamisen. Seminaari suoritetaan kokonaisuudessaan yhden lukukauden aikana (syksy, kevät tai kesä). Suoritusprosessiin sisältyy mm. osallistuminen aloitusluennolle ja seminaareihin, seminaariesitelmien toteutus, alkuraportti, kandidaatintyö ja kypsyysnäyte. Itsenäinen työskentely 250 h. Seminaarityöt 10 h. Kokonaismitoitus 260 h. 0-5. Kandidaatintyö 100 %. Seminaariesitykset ja hyväksytysti suoritettu kypsyysnäyte. Suoritettuna 100 opintopistettä. CT10A6001 Diplomityö (30op, kerroin: 0) Diplomityö Master s Thesis Vastuuopettaja: professori Jari Porras Englanti 8
DI 2 1-4 tai kesä professori, TkT Jari Porras Opiskelija kykenee syvälliseen itsenäiseen työskentelyyn ja tieteelliseen kirjoittamiseen johonkin koulutusohjelman erityisalueeseen liittyvissä tietoteknisissä ongelmissa. Tietotekniikan alueella tehtävä itsenäinen opinnäytetyö annettujen diplomi-työohjeiden mukaisessa muodossa. Työtä aloitettaessa otetaan yhteys vastuuprofessoriin. Itsenäinen työskentely sovitun suunnitelman mukaisesti. Töiden alkamis- ja päättymisajankohta vaihtelee. Diplomityö ja kypsyysnäyte. Kokonaismitoitus 780 h. 0-5. Diplomityö 100 %. Diplomityön aiheen anomiseen edellytettävät opinnot. CT10A7002 Green IT and Sustainable Computing (6op) Green IT and Su Green IT and Sustainable Computing Vastuuopettaja: professori Jari Porras Englanti M.Sc. (Tech.) 1 3-4 9
Professor, D.Sc. (Tech.) Jari Porras After the course students are familiar with technologies for Green IT and sustainable computing. Students know critical thinking and argumentation principles and are able to apply these skills in discussions carried over the topic. Students are able to discuss about the topic and examine it critically. The course emphasizes two separate aspects. First students are familiarized with critical thinking and argumentation skills and then these skills are applied in Green IT and sustainable computing field. Green IT and sustainable computing is covered through books and scientific articles. Students may be divided into small groups that will each study a separate topic. Lectures 2 h, homework 13 h, online course 26 h, 3. period. Seminars and discussions 19 h, homeworks 36 h, self-study 60 h, 4. period. Total 156 h. 0-5. Seminar work(s), active participation in discussions, homeworks. Jeremy L. Caradonna, Sustainability: A History, Oxford University Press, 2014, National Research Council, Computing Research for Sustainability, National Academies Press, 2012 Liittyy kestävään kehitykseen Avoin yliopisto Opintojaksolla on 1-5 opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen CT10A7010 Running a Software Project (3op) Running a Softw Running a Software Project Huom This course can be included in one degree three times. Englanti 10
M.Sc. (Tech.) 1-2 1-2, 3-4 Associate Professor, D.Sc. (Tech.) Uolevi Nikula The students can plan and execute a team software project and conduct a post mortem analysis for it. Students form 3-6 member teams that run a software project combining projects from 1-4 concurrent courses. Each team develops a project proposal including a standard project plan and an explanation of how the course projects will be combined in the project and what role each team member will have. During the project each team will report their progress weekly and develop a plan for the next week. The project is closed with a written report, a presentation of the project results, and a project post mortem analysis. A list of courses that can be worked in this course in each term are listed in the course page in Moodle. Weekly progress reporting and planning, final presentations with written report, project post mortem analysis. Weekly meetings 14 hours and preparation for them 14 hours both in 1. and 2. period (28 + 28 h); preparing for the final presentation 16 hours, presentation 4 hours, and post mortem analysis 2 hours during the intense week after term. Actual working time on the project is allocated to each course for which the work is done while this course focuses on managing the common project. Total workload is 78 h. 0 5, 50% weekly progress reports and 50% final presentation. Learning materials are provided during the lectures. A project management course, e.g. Software projects, process and enterprises must be completed before or at the same time with this course. Liittyy kestävään kehitykseen 11
Avoin yliopisto Opintojaksolla on 1-5 opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen CT10A7020 Personal Literature Study (1-6op) Personal Litera Personal Literature Study Huom To do the course contact the person responsible for the course. The details of the course are agreed with the person responsible for the course. Suomi ja englanti DI 1-2 1-4, Any period of time agreed. Associate Professor, D.Sc. (Tech.) Uolevi Nikula The course deepens students understanding of a research topic through the study of the given literature package and the discussion with the instructor about suitable research methods and approaches to the given topic. The course also develops students skills in writing a synthesizing report of the given readings. Study of a predefined set of literature, analysis and summary of the key findings from the package as a report. A list of selected themes for the reading packages can be found at the course page in Moodle. The student contacts the instructor of a theme of interest and agrees on the personal implementation of the study including the workload and the schedule. A report on the studied readings package. Personal study of the selected literature package. Course can be done at any point of studies based on the discussions with the instructor. Total workload is agreed with the instructor and can be 26-156 h. Passed/failed. Research report. 12
The detailed literature list is received from the instructor. CT10A9510 Research Methods in Software Engineering or comparable course. Liittyy kestävään kehitykseen Avoin yliopisto Opintojaksolla on 1-5 opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen CT10A7030 Personal Design Science Study (1-6op) Personal Design Personal Design Science Study Huom To do the course contact the person responsible for the course. The details of the course are agreed with the person responsible for the course. Suomi ja englanti DI 1-2 1-4, Any period of time agreed. Tutkijaopettaja, TkT Uolevi Nikula The students learn to conduct design science studies as well as complete assignments and manage related tasks independently. The emphasis on different areas can vary between different course instances. The students conduct design science studies starting with evaluation of the current state, defining the desired state, developing a plan to achieve the desired state, implementing that plan, comparing the original and target states, and reporting results as a written report. The course page in Moodle includes detailed course instructions for studies that have been approved as personal design science studies. The student contacts the teacher listed in the 13
course instructions and develops a proposal for his/her personal implementation of a course. The course instructions provide more detailed information about the aims, content, modes of study, evaluation, study materials, and prerequisites for each specific course. Personal study based on the detailed course instructions. Course can be done at any agreed point of time and if multiple students want to do the same course at the same time, they can be supervised as a cohort. Total workload is specified in the detailed course instructions and can be 26-156 h. Passed/failed. Research report and seminar presentation. Study materials are specified in the detailed course instructions. The prerequisites are specified in the detailed course instructions Avoin yliopisto Opintojaksolla on 1-5 opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen CT10A7040 Code Camp (1-5op) Code Camp Code Camp Vastuuopettaja: professori Jari Porras Huom The course is an intense course lasting from one day to a week, and the actual timing of each course is announced separately. This course can be included in one degree two times provided that the course contents are different. Englanti M.Sc. (Tech.) 1-2 1-4, intense course Professor, D.Sc. (Tech.) Jari Porras 14
The students learn to work with given software development technologies in teams and innovate solutions to given software development challenges in a given time box. Students are presented a problem in the beginning of each code camp and they develop solutions to the problem in the given time box with the given technologies. After presenting the problem for the code camp, the students innovate possible solutions and start learning the given technologies. The main part of the code camp is spend developing the solution and learning to use the technologies in a collaborative manner before the working solutions are presented in the closing seminar. A code camp lasts typically a weekend or one week, and the technologies used in each code camp are decided case by case. The detailed implementation of each code camp is accepted by the head of the degree program, and the detailed course instructions are published in the course page in Moodle. Team software project completed in the code camp format based on the detailed course instructions. Each code camp is announced at least a month before the event, and it can last from one weekend to one week. Total workload is specified in the detailed course instructions and can be 26-130 h. Passed/failed. Teamwork during the code camp and presentation after it. Study materials are specified in the detailed course instructions and during the lectures. The prerequisites are specified in the detailed course instructions Avoin yliopisto Opintojaksolla on 1-5 opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen CT10A7050 Research/Industry Forum in Software Technology and Engineering (6op) Research/Indust Research/Industry Forum in Software Technology and Engineering Englanti B.Sc. (Tech.) 3 15
3-4 Professor, Ph.D., PEng., HDR. Ahmed Seffah The students will learn about the current software engineering research topics, research questions, and research approaches at the LUT Department of Innovation & Software. Based on the information attained the students are able to describe the departmental research activities as well as identify and explain which are personally most interesting ones of them. The course consists of a series of lectures given by the researchers at the LUT Department of Innovation & Software. The lectures introduce the basic concepts on each research topic as well as most relevant research questions and research approaches. Each research topic is further introduced be relevant research articles. Lectures 14 h, readings 42h, personal reflections 22 h, 1st period. Lectures 14 h, readings 42h, personal reflections 22 h, 2nd period. Total workload 156 hours. 0 5, evaluation of the weekly reflections. Study materials are announced in the lectures. CT60A4001 Software Engineering or comparable course. Avoin yliopisto Opintojaksolla on 1-5 opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen CT10A7061 Visitor s Viewpoint on Software Engineering (1-6op) Visitor s Viewp Visitor s Viewpoint on Software Engineering Huom This course can be included in one degree two times provided that the course contents are different. The actual time of each course will be announced separately. 16
Englanti M.Sc. (Tech.) 1-2 1-4, intensiva course Associate Professor, D.Sc. (Tech.) Uolevi Nikula The students will deepen their knowledge in a specific advanced topic in software engineering, learn to question and debate with an expert on the topic, and synthesize the studied material in a written report. The course approaches core software engineering topics based on Software Engineering Body of Knowledge as well as current trends and technological developments in the discipline or closely related ones from different viewpoints. The course instances are given by visiting scholars, and the detailed course instructions are confirmed by the head of the degree program. The course will be implemented in a form best suited for each course instance but can include, for example, workshops, seminars, presentations, home works, readings, self-study, and report writing. The detailed modes of study will be confirmed by the head of the degree program together with the total workload, which can vary between 26 and 156 hours. Passed/failed based on the course participation and final report. Study materials are announced in the lectures. The prerequisites are specified in the detailed course instructions Liittyy kestävään kehitykseen Avoin yliopisto Opintojaksolla on 1-5 opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen 17
CT10A9201 Game Design - From Concepts to Implementation (3op) Game Design - F Game Design - From Concepts to Implementation Huom LUT Summer School course, 8.-12.8.2016 Englanti M.Sc. 1-2 Associate Professor, D.Sc. (Tech.) Uolevi Nikula, LUT After the course, student should be able to: Understand the basics of game design, the process, general concepts, architectures and infrastructures within the game design. Estimate technical requirements for videogames. Prototype a simple game. Introduction to game design and game engines architecture. Mobile games. Introduction to Unity3D with scene construc-tion, game logic programming, scripting, asset management and multi-platform deployment. Introduction to interface design and game interaction design. Implementation of a simple game in Unity3D Lectures 19h Exercises 20h Assignment 39h Total 78h Final grade 0-5: Active class participation 20% Assignment 80% Readings and assignments to be announced in the class. Basic knowledge of programming (e.g. C, C++, C#, Java, Python). Tasks require programming, but are started from basic examples. 18
CT10A9511 Research Methods in Software Engineering (6op) Research Method Research Methods in Software Engineering Englanti M.Sc. (Tech.) 1 1-2 N.N. The student will be able to describe the essential concepts and methods in empirical software engineering research. The student will understand the principles of scientific research and reporting and be able to prepare a research plan for a Master s thesis and doctoral studies. Principles of science and scientific communities. Epistemology and ontology in research. The practical research process. Designing research, research questions and hypotheses. Research methods including literature review, qualitative methods, experiments, quantitative methods, and design research. Reporting scientific work. Lectures 14 h, lecture preparation 7 h, 1st period. Practical assignments: 55 h, 2nd period. Seminars: 14 h, preparing for the seminars 7 h. Reading literature 44 h. Preparation for exam 12 h. Exam 3 h. Total 156 h. 0-5. Exam 60%, practical assignments 40%. To be announced in the lectures. B.Sc. studies finished. Avoin yliopisto Opintojaksolla on 1-5 opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen 19
CT10A9520 Research Project in Software Engineering (1-10op) Research Projec Research Project in Software Engineering Englanti M.Sc. (Tech.) 1 1-4 Associate Professor, D.Sc. (Tech.) Uolevi Nikula The student will be able to execute a research task in software engineering. Research work on the topic defined by the Computer Science department. When starting the course, contact one of the professors of the department. A report on and a seminar presentation of the work carried out. Participation in the work of the research group, 1st-4th period. Total 26-260 h. Passed/failed. Research report and seminar presentation. Literature related to the research topic, agreed with the supervisor of the work. CT10A9500 Research Methods or CT10A9510 Research Methods in Software Engineering CT30A2802 Käyttöliittymät ja käyttäjäkeskeinen suunnittelu (6op) Käyttöliittymät User Interfaces and User-Centric Desing Suomi 20
TkK 1 3-4 tutkijaopettaja, TkT Kari Heikkinen Opiskelija ymmärtää vuorovaikutus- ja käyttäjäkeskeisen suunnittelun sanaston, tärkeimmät perusperiaatteet ja roolin käyttöliittymien suunnittelussa ja toteutuksessa. Opiskelija osaa soveltaa vuorovaikutuksen ja käyttäjäkeskeisyyden tärkeimpiä menetelmiä ja prosesseja käyttöliittymien suunnittelussa. Vuorovaikutussuunnittelun perusteet ja tärkeimmät menetelmät käytettävyyden ja käyttöliittymien suunnittelussa. Erilaiset käyttöliittymät ja niiden ominaispiirteet. Käyttäjäkeskeinen suunnitteluprosessi, -menetelmät ja arviointi. Lähiopetusta (L+H) 14 h, harjoitustyöt (ryhmässä) 52 h, 3. periodi, Lähiopetusta (L+H) 12 h, harjoitustyöt (ryhmässä) 52 h, Ryhmätentti, 26h, 4. periodi. Kokonaismitoitus 156 h. 0-5. Harjoitustyöt (80%), Tentti (20%) Liittyy kestävään kehitykseen Avoin yliopisto Opintojaksolla on 1-5 opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen CT30A3202 WWW-sovellukset (6op) WWW-sovellukset Webbed Applications suomi TkK 3 21
1-2 N.N. Opintojakson tavoitteena on tutustuttaa opiskelija WWW-ohjelmointitekniikoihin, -arkkitehtuureihin ja -toteutusvälineisiin. Opintojakso tarjoaa opiskelijalle valmiudet suunnitella ja toteuttaa vuorovaikutteisia WWW-sovelluksia, huomioiden erilaiset tavat sovellusten käyttöön. WWW-sovellusten arkkitehtuurit ja standardit. Ohjelmointikielet ja rajapinnat vuorovaikutteisten asiakas- ja palvelinsovellusten luontiin (esim. JavaScript, PHP, Ajax). WWW-sovellusten sisällön tehokas hallinta ja julkaisu. Kurssi on ohjelmointipainotteinen. Luentoja 2 h, harjoituksia 14 h, kotitehtäviä, 1. periodi. Harjoituksia 14 h, kotitehtäviä, demonstrointitilaisuus 4 h, 2. periodi. Kurssi toteutetaan käyttäen käänteisen luokkahuoneen menetelmää. Virtuaalitehtävät, itseopiskelu, harjoitusten teko ja harjoitustyöt, 1-2. periodi. Kokonaismitoitus 156 h. 0-5. Harjoitustyöt 70 %. Jatkuva arviointi (kotitehtävät ja tuntikuulustelut) 30 %. Kurssisivuilla ilmoitettava materiaali. CT60A0200 Ohjelmoinnin perusteet. Suositellaan CT60A4301 Tietokannat. CT30A3231 Linuxin perusteet (2op) Linuxin peruste Basics of Linux Huom Ei voi sisällyttää samaan tutkintoon kuin CT30A3230 Työaseman käytön perusteet. Suomi 22
TkK 1-3 2 N.N. Opintojakson suoritettuaan opiskelijalla on tarvittavat valmiudet Linux-työasemien käyttöön myöhempien tietotekniikan opintojen vaatimalla tasolla. Opiskelija osaa kirjautua Linux-ympäristöön sekä graafisen työpöytäympäristön että tekstipohjaisen käyttöliittymän avulla, tuntee Ubuntu-käyttöjärjestelmään asennetut perusohjelmat ja niiden käytön graafisessa ympäristössä, ymmärtää terminaalin käytön edut, osaa tiedostojärjestelmässä navigoimisen ja tiedostojen manipuloinnin. Lisäksi opiskelijan odotetaan pystyvän käyttämään terminaalin I/O-käskyjä (pipes, redirection), muodostamaan hakuja ja käyttämään säännöllisiä lausekkeita (regexp), hallitsemaan shell-komentosarjojen tekeminen (shell scripting) sekä tiedostojärjestelmän käyttöoikeudet ja verkko-ohjelmien käytön (wget, curl). Linux-käyttöjärjestelmän asennus ja virtuaalikone, graafiset työpöytäympäristöt, terminaali ja peruskäskyt, komentorivipohjaiset tekstieditorit, komentoriviohjelmat ja niiden asennus, terminaali-i/o ja tiedostonhallintatyökalut, säännölliset lausekkeet, komentoriviohjelmointi, komentorivipohjaiset verkko-ohjelmat, etäkäyttö ja tiedostojen siirto. Aloitusluento 2 h, harjoitusten teko 16 h, verkkokurssin luentovideot 10 h. Itsenäinen opiskelu ja tiedonhaku 20 h. Tenttiin valmistautuminen 4 h. Mikroluokkatentti 2 h. Kokonaismitoitus 52 h. Hyväksytty / Hylätty Unix for dummies : käyttäjän käsikirja / John R. Levine & Margaret Levine Young. Linux : man-sivut & järjestelmänhallinta / toimittanut Raimo Koski. Linux in a nutshell / Ellen Siever et al. Linux ja komentorivin hallinta Practical Unix -verkkokurssin materiaali. Muu www-sivuilla ilmoitettava materiaali. Avoin yliopisto Opintojaksolla on 1-5 opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen 23
CT30A3370 Käyttöjärjestelmät ja systeemiohjelmointi (6op) Käyttöjärjestel Operation Systems and System Programming Vastuuopettaja: professori Jari Porras Suomi TkK 2 1-2 professori, TkT Jari Porras Opiskelija ymmärtää, kuinka käyttöjärjestelmä rakentuu ja miten se toimii yhdessä sovellusohjelmien kanssa. Opiskelija osaa jakaa monimutkaiset ongelmat pienempiin kokonaisuuksiin, ja tietää, miten käyttöjärjestelmän kokoinen, iso ohjelmistoprojekti suunnitellaan ja toteutetaan. Opiskelijalla on kokonaiskuva tietokonejärjestelmän rakenteesta sekä niiden liittymäkohdista algoritmiikkaan, tietokonearkkitehtuuriin, käyttöjärjestelmiin, kääntäjiin ja tulkkeihin sekä ohjelmistotuotantoon. Opiskelija ymmärtää systeemiohjelmoinnin merkityksen sovelluskehityksessä ja järjestelmän ylläpidossa. Opiskelija tuntee käyttöjärjestelmän perustoiminnot. Opiskelija osaa kirjoittaa Posix-ohjelmia C-kieltä käyttäen, osaa soveltaa Posix-kirjastoja ja järjestelmätason funktioita ohjelmissaan. Opiskelija osaa ohjelmoida Unix-järjestelmän komentosarjoja. Käyttöjärjestelmän perusrakenteet ja toiminnot: tiedostojärjestelmä, prosessit, muistinhallinta. Unix-järjestelmän rakenne. C-ohjelmointikieli ja sen ohjelmointiympäristö ja työkalut Unix-järjestelmässä. Unixin komentotulkki-ohjelmointi. Standardi I/O-kirjasto, kehittyneet I/O-toiminnot. Järjestelmätiedot ja tiedostot. Prosessit, prosessien hallinta, prosessien väliset suhteet. Säikeet ja niiden hallinta. Palveluprosessit. Prosessienvälinen kommunikointi. Signaalit ja niiden hallinta. Luennot 28 h ja luennoille valmistautuminen 28 h. Harjoitukset 14 h ja harjoituksiin valmistautuminen 14 h. Harjoitustyö 52 h. ja tenttiin valmistautuminen 17 h. Tentti 3 h. Yhteensä 156 h. 0-5, tentti 50 %, harjoitustyöt 50 % 24
N. Nisan & S. Schocken: The Elements of Computing Systems, MIT Press, 2005 W. Stallings: Operating Systems, 7th Edition, Pearson Education, 2012 A. Silberschatz, P. Galvin, G. Gagne: Operating System Concepts, Wiley, 2012 W. Richard Stevens and Stephen A. Rago: Advanced Programming in the UNIX Environment, 2nd edition, 2011. Ellie Quigley: Unix Shells by Example, 4th edition, 2010. William Stallings: Operating Systems: Internals and Design Principles, 7th Edition, 2011. CT60A0200 Ohjelmoinnin perusteet, CT60A0210 Käytännön ohjelmointi, BM40A0300 Tietorakenteet ja algoritmit. Avoin yliopisto Opintojaksolla on 1-5 opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen CT30A3401 Hajautetut järjestelmät (6op) Hajautetut järj Distributed Systems Vastuuopettaja: professori Jari Porras Suomi TkK 3 3 professori, TkT Jari Porras Opintojakson suoritettuaan opiskelija tuntee hajautettujen järjestelmien toimintaan liittyvät haasteet ja teknologiat. Opiskelija ymmärtää hajautettujen järjestelmien toimintaperiaatteet. Johdanto hajautettuihin järjestelmiin, yleiskatsaus tietoliikenteeseen liittyviin kokonaisuuksiin kuten kerrosmalliin ja protokolliin, kommunikointi hajautetuissa järjestelmissä, hajautetut sovellukset, p2p järjestelmät, Web-servicet, hajautetut tiedostojärjestelmät, globaali aika ja tila, hajautetun toiminnan koordinointi, hajautetut transaktiot, monistaminen ja vikasietoisuus. 25
Luennot 21 h, luennoille valmistautuminen 21 h, kotitehtävät 112 h. Kokonaismitoitus 156 h. 0-5. Kotitehtävät 100 %. A. Tanenbaum and M. Van Steen: Distributed Systems; Principles and paradigms, Pearson Education 2007. G. Colouris et. Al: Distributed Systems; Concepts and Design, Pearson Education, 2012. - Avoin yliopisto Opintojaksolla on 1-5 opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen CT30A5003 Games and Networking (6op) Games and Netwo Games and Networking Englanti M.Sc. (Tech.) 1 1-2 N.N Students understand problematics of networking, are able to implement basic gaming protocols and understand their limitations in relation to scaling and delay issues. Students familiarize themselves with different game types. Massively multiplayer online games, cloud based games and client-server games. Operation of a game engine. Study of existing game protocols. Network game traffic patterns, latency compensation 26
techniques, scalability issues, network behavior in scope of games. Socket interface usage and event-based programming. Analysis and realization of network game protocol. Lectures 14 h, individual work 2 h, 1. period. Lectures/exercises 14 h, Demonstration 8 h, 2. period. Reading assignments, home work, 2 hands on programming assignments and a group work 118 h. Total 156 h. 0-5. Assignments and continuous evaluation 50 %, group work 50%. Will be announced during the course. Programming skills are required to pass the course. CT30A2003 Tietoliikennetekniikan perusteet or equivalent skills, CT60A0210 Käytännön ohjelmointi or CT60A2410 Olio-ohjelmointi or equivalent skills. CT30A8904 Software Systems as a Service: Technology and Engineering (6op) Software System Software Systems as a Service: Technology and Engineering Huom The course will be lectured every other year, next during the academic year 2016-2017. Englanti M.Sc. (Tech.) 2 3-4 Professor, Ph.D., PEng, HDR. Ahmed Seffah 27
1. Understanding of the service orientation and the Internet of services, as a fundamental shift to producing, deploying and consuming software applications, and as a domain for academic research. 2. Implementing service systems and Web services that merge business and technical requirements to support the needs of an organization. 3. Mastering the technology used in modeling, designing, and composing services to create an effective SOA-based application. 4. Understanding the new business challenges and opportunities of software as a service versus shrink-wrapped software systems. 5. Applying the SOA (software-oriented architecture) principles and techniques to the design, programming, testing, and public cloud deployment of Web services. Service-orientation fundamentals and principles. Software as a Service (SaaS). Internet of services. Platform and software engineering tools as a Service (PaaS). Infrastructure as a service (IaaS). Service-Oriented Architecture (SOA) principles and technologies. Service design patterns. Security, sustainability, and privacy. SOA governance. Service lifecycle management. Web services programming. Successful and failures stories from industry. Large team-oriented project on service systems for sustainability innovation. Sustainability is addressed at two different levels in this course: 1. Similar to security and other software quality attributes, sustainability is defined as a key quality attribute of a service system 2. Students are encouraged to consider projects related to the re-engineering of existing software systems and/or the development of innovative services to support sustainability development including the management of natural resources consumption as well as the ways software services can make citizens more aware about their impacts on the environment. Lectures 20 h, lecture preparation (weekly mandatory readings) 20 h, in class exercises 16h, practical analysis, design and development team-oriented project 64 h, Self-study and research poster 24 h. Final exam preparation 10h. Final exam (open book) 2 h. Total 156 h. 0-5. Final Exam 30%, Practical design, Practical analysis, design and development project 40%, research poster and presentation 30%. Mandatory readings 1. Selected chapters from Thomas Erl. Service-Oriented Architecture: Concepts, Technology and Design. Prentice Hall, 2005 (http://www.servicetechbooks.com) 2. Selected research and white papers by the professor; announced during the lecture. Additional readings Thomas ERL Website (http://www.serviceorientation.com) Fox, Armando and Patterson, David. Engineering Software as a Service: An Agile Approach Using Cloud Computing. First edition. Avoin yliopisto Opintojaksolla on 1-5 opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen 28
CT30A8921 User and Design Research in Software Engineering (6op) User and Design User and Design Research in Software Engineering Englanti M.Sc. (Tech.) 1 1-2 Professor, Ph.D., PEng, HDR. Ahmed Seffah How do we design software products, systems and service? Why only few software systems make it to market and most fail? Why users are not able to master and use software systems? The course answers to these questions while outlining the user experience, user-centric design and design thinking theories for software products, systems and services engineering. Through a mix of readings on design theories and practices, user experiences research investigations and practical team-oriented design project in the living lab, students will acquire a solid practical and a research experience in design methods and user-centric software engineering. In particular, students will: 1. Have a deep immersion into the state of research in Human Computer Integration design, user experience design and design thinking as approaches to software systems engineering 2. Acquire new skills in building a portfolio of design and proof of concepts including sketches and prototypes created and tested in a living lab. Students will complete many hands-on activities and interact with your fellow students and representative of users as you experience a completely different way of learning how to develop human-centric software and information systems, services, and socio-technical systems. Design theories, principles and methods. Principles of design thinking. Human-centric design processes. User experience in design practices. Co-design in living lab. User research in design. Persona and customer profiling. Diary studies. HCI design patterns. Storytelling. Paper prototyping. Usability and sustainability testing. Controlled experiments. Design of innovative software products. Introduction to design research and science. Socio-technical systems design. Historical, cultural, and technical foundations of design and innovation in a range of discipline areas (software engineering, MIS, HCI, arts. In a group of 3-5, students are asked to develop a design concept and validate it in the design living lab. Students are requested to write a research paper and to present a design portfolio that demonstrate their capacity to generate design ideas, innovative concepts, proposals or solutions independently and/or collaboratively in response to a set briefs and/or as a self-initiated activity or based on documented user experiences. The importance of human aspects in design and innovation is 29
a key concern in software and information systems engineering and research. Design principles and methods could be used to create values of software products through the open innovation concept. This course follows from work of open innovation and user-centric design and design thinking theories and principles that established the basis of innovation by design. It analyzes the concept of innovation by design applied to software and information system) from the HCI (human-computer interaction), user experience and research perspective. Lectures 12 h. Lecture preparation (mandatory readings) 24 h. Practical large design project in a group of 6 students 60 h. User research in living lab 36 h. Prototyping and presentation of the design portfolio 28 h. Total 160 h. 0-5. Design Portfolio 60%. Individual research paper 30%. Oral presentation 10%. Course online tutorial, specific mandatory readings from the following books will be provided in class by the professor Tim Brown. Change by Design: How Design Thinking Transforms Organizations and Inspires Innovation Terry Winograd (ed.): Bringing Design to Software. Addison-Wesley, 1996. Bill Buxton, Sketching User Experiences: Getting the Design Right and the Right Design, Morgan Kauffmann Series on Interactive Technologies, 2007. Mads, et al. (Eds). The Online Encyclopedia of Human Computer Interaction, 2nd Edition. Interaction Design Foundation. Students unfamiliar with basic HCI design are encouraged to walkthrough the textbook User Interface design and evaluation. D. Stone, C. Jarrett, M. Woodroffe. S. Minocha. Morgan Kauffmann Series in Interactive technologies. 2005. Basic expertise in software /user interface design methodologies like UML. CT60A0201 Ohjelmoinnin perusteet (6op) Ohjelmoinnin pe Introduction to Programming Suomi TkK 1 1-2 30
tutkijaopettaja, TkT Uolevi Nikula Opiskelija pystyy selittämään ohjelmoinnin peruskäsitteet, rakenteet ja niiden toimintaperiaatteet sekä tekemään pieniä ohjelmia imperatiivisella ohjelmointikielellä. Ohjelmoinnin peruskäsitteet, konseptit ja rakenteet; ohjelmien ja algoritmien suunnittelun sekä testaamisen perusteet; hyvä ohjelmointityyli. Ohjelmointi Python-ohjelmointikielellä. Luentoja 14 h, omatoiminen opiskelu 14 h, pakollisten harjoitustehtävien teko 40 h, 1. periodi. Luentoja 14 h, omatoiminen opiskelu 14 h, pakollisten harjoitustehtävien ja ohjelmointiprojektin teko 50 h, 2. periodi. Tenttiin valmistautuminen 7 h ja tentti 3 h. Kokonaismitoitus 156 h. 0-5. Välikokeet tai tentti 50 %, harjoitustehtävät ja ohjelmointiprojekti 50 %. LUT:n Python ohjelmointiopas, luentomateriaali, muu luennoilla ilmoitettava materiaali. Avoin yliopisto Opintojaksolla on 1-10 opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen CT60A0220 C-ohjelmoinnin ja testauksen periaatteet (6op) C-ohjelmoinnin Principles of C-Programming and Testing Suomi TkK 1 3-4 tutkijaopettaja, TkT Uolevi Nikula 31
Opintojakson suoritettuaan opiskelija tuntee C-ohjelmoinnin ja testauksen periaatteet. Opiskelija osaa tehdä C-kielisiä ohjelmia ryhmän jäsenenä hyvää ohjelmointitapaa noudattaen ja jakaa ohjelman toiminnallisiin kokonaisuuksiin. Opiskelija tuntee tavallisimmat ohjelmistotestauksen työmenetelmät sekä testauksen työvaiheet. Opiskelijalla on valmiudet tehdä ohjattua testaustyötä itsenäisesti, tai suunnitella ja valmistella testaustyötä osana organisaatiota. Opiskelija tietää miten ohjelmistotestausta tehdään ja kuinka testaustoiminta ja ohjelmistokehitys liittyvät toisiinsa. C-ohjelmointikielen kielioppi ja rakenteet, erityisesti tietotyypit, osoittimet, dynaaminen muistinhallinta ja rekursio sekä käytännön C-ohjelmoinnin periaatteet. Ohjelmoinnin perustyökalut kuten editori, kääntäjä, virheenjäljittimet ja versionhallinta. Ohjelmistotestauksen työkalut ja tavallisimmat dokumentit, yksikkötestaus, integrointitestaus, järjestelmätestaus. Testaus käytännössä. Luentoja 14 h, omatoiminen opiskelu 7 h, pakollisten harjoitustehtävien ja projektin teko 50 h, 3. periodi. Luentoja 14 h, omatoiminen opiskelu 7 h, pakollisten harjoitustehtävien ja projektin teko 54 h, 4. periodi. Tenttiin valmistautuminen 7 h ja tentti 3 h. Kokonaiskuormitus 156 h. 0-5, tentti 50 %, pakolliset tehtävät (viikkotehtävät ja harjoitustyö) 50 %. C-kieli ja käytännön ohjelmointi osa 1 Ohjelmistotestauksen käsikirja, Jussi Pekka Kasurinen, Docendo Oy, 2013. Kirjan hankkiminen ei ole välttämätöntä kurssin suorittamista varten, muu luennoilla ilmoitettu materiaali. CT60A0200 Ohjelmoinnin perusteet tai vastaavat tiedot. Avoin yliopisto Opintojaksolla on 1-5 opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen CT60A2411 Olio-ohjelmointi (6op) Olio-ohjelmoint Object-Oriented Programming Suomi 32
TkK 2 1-2 tutkijatohtori, TkT Jussi Kasurinen Opiskelija osaa käyttää oliopohjaisia ohjelmointimenetelmiä tyypillisten ohjelmointiongelmien ratkaisuun ja osaa soveltaa Java-kielen tavanomaisia piirteitä ohjelmoinnissa. Opiskelija osaa lukea ja tulkita Java-koodia ja UML-kaavioita. Ymmärtää versionhallinnan käytön ja graafisen käyttöliittymän rakentamisen. Oliopohjaisuus, luokat, periytyminen, luokkamallintamisen perusteet, Javan periaatteet, lauseet ja perustietorakenteet, abstraktit tietotyypit, poikkeukset, graafinen käyttöliittymä. Luentoja 2 h, videoita 8 h, harjoituksia 14 h, harjoitustyö 16 h, itsenäinen opiskelu 30 h 1. periodi. Videoita 8 h, harjoituksia 14 h, harjoitustyö 30 h, itsenäinen opiskelu 30 h 2. periodi. Tenttiin valmistautuminen ja tentti 8 h. Kokonaismitoitus yhteensä 160 h. 0 5. Tentti 30%, harjoitukset 25%, harjoitustyö 45% Luentokalvot, oheismateriaalina esim. Bruce Eckel, Thinking in Java Muu luennoilla ilmoitettava opiskelumateriaali. CT60A0210 Käytännön ohjelmointi. Avoin yliopisto Opintojaksolla on 15- opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen CT60A4002 Ohjelmistotuotanto (6op) Ohjelmistotuota Software Engineering 33
Suomi TkK 2 3-4 dosentti, TkT Ossi Taipale Kurssin jälkeen opiskelija pystyy selittämään ohjelmistotuotannon peruskäsitteet ja eri osa-alueiden merkityksen ohjelmistoprojekteissa sekä osallistumaan ohjelmistoprojekteihin eri rooleissa hyödyntäen keskeisimpiä ohjelmistotuotannon menetelmiä. Ohjelmistontuotantoprosessi, sen eri vaiheet ja niiden sisältö. Ohjelmistotuotannossa käytettävät yleisimmät menetelmät ja tekniikat. Luentoja 12 h, omatoiminen opiskelu 8 h, pakollisten harjoitustehtävien ja projektin teko 35 h, 3. periodi. Luentoja 12 h, omatoiminen opiskelu 8 h, pakollisten harjoitustehtävien ja projektin teko 45 h, 4. periodi. Tenttiin valmistautuminen 7 h ja tentti 3 h. Kokonaismitoitus 130 h. 0 5. Tentti 50%, pakolliset harjoitustehtävät ja projekti 50%. Haikala & Mikkonen: Ohjelmistotuotannon käytännöt, 12. painos, Talentum, 2011. Muu luennoilla ilmoitettava kirjallisuus. CT60A0200 Ohjelmoinnin perusteet. Liittyy kestävään kehitykseen Avoin yliopisto Opintojaksolla on 1-5 opiskelupaikkaa avoimen yliopiston opiskelijalle. Lisätietoja avoimen 34
CT60A4302 Tietokannat (6op) Tietokannat Databases suomi TkK 2 3-4 nuorempi tutkija, DI Antti Knutas Antaa opiskelijalle perustiedot suunnitella ja mallintaa relaatiotietokanta. Opiskelija oppii ymmärtämään oliotietokantojen suunnitteluprosessia ja mallinnusta. Opiskelija oppii ymmärtämään asioita käsitteellisellä tasolla. Opiskelija oppii rakentamaan tietokannan erilaisiin käyttöjärjestelmäympäristöihin. Opiskelija oppii SQL-kielen perusteet ja sulautetun SQL:n perusteet. Tietokantajärjestelmät. Tietokantojen suunnittelu. Oliokeskeinen mallinnus ja ER-mallinnus. Relaatiomallin tarkennus. SQL-tietokantakieli ja oliokeskeiset kyselykielet. Tietokantasuunnittelun näkökulma: kuinka tietokanta suunnitellaan, kuinka tietoa mallinnetaan, mitkä ovat tiedon talletusrakenteet ja saantimenetelmät, tietoalkiot ja niiden yhteydet. ER-kaavioiden muuntaminen relaatiomalliksi ja relaatiotietokannaksi. Oliomallien muuntaminen relaatiomalliksi. Eri tiedostotyyppien merkitys ja käyttö eri tietokantaympäristöissä. Tietokantaohjelmoinnin näkökulma: kyselyiden ja muiden tietokantaoperaatioiden esitys, tietokannan hallintajärjestelmien palvelut ja niiden käyttö, esim. tapahtumat ja laukaisimet. Tietokannan toteuttaminen: miten tietokanta rakennetaan, miten tietokannan hallintajärjestelmää käytetään ja miten SQL-lauseet sulautetaan ohjelmointikieleen. Katsaus tietojärjestelmien uusiin trendeihin kuten NoSQL, big data ja open data. Verkkoluennot ja -tehtävät 13 h, harjoituksia 12 h, SQL-verkkokurssin suorittaminen 40 h 3. periodi. Verkkoluennot ja -tehtävät 12 h, harjoituksia 12 h, 4. periodi. Harjoitustyö 53 h, 3-4. periodi. Tenttiin valmistautuminen 12h ja sähköinen tentti 2 h. Kokonaismitoitus 156 h. 35