Page History

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Koodi

Kurssin nimi

Op

Periodi

Suoritusvuosi

Pakolliset kurssit 55 50 op:

CS-A1150

Tietokannat

Tietokantoja tarvitaan kaikkialla: opiskelijarekistereissä, verkkokaupoissa, terveydenhuollon tietojärjestelmissä jne. Tällä kurssilla opit suunnittelemaan tietokantoja ja tekemään erilaisia tietokantakyselyjä SQL-kielellä. Kurssilla käsitellään lyhyesti myös muita tietokantatyyppejä.

5

III-V

1.

CS-C2100

Ohjelmointistudio 1

Kurssilla opiskellaan ongelmalähtöisesti digitaalisen median peruskäsitteitä ja syvennetään ohjelmointiosaamista mediaohjelmoinnin avulla. Pääset harjoittelemaan ohjelmointia tehtävissä, joiden aiheena on esim. kuvan ja äänen esitys, pakkaus ja suodatus. Kurssilla opitaan myös ryhmässä toimimista sekä avointen ongelmien ratkaisua.

Huom! Kurssi suoritetaan yhdessä kurssin CS-A1110 Ohjelmointi 1 kanssa.

5

I-II

1.

CS-C2120

Ohjelmointistudio 2: projekti

Kurssilla opetellaan laajempien ohjelmien suunnittelua ja toteutustekniikoita yksilöllisen ohjelmointiprojektin ja harjoitusten kautta. Kurssi myös esittelee uusia ohjelmoinnin abstraktioita ja rakenteita sekä työkaluja koodin hallintaan ja jatkokehityksen helpottamiseen.

5

III-V

1.

CS-C2130

Software Project 1

In Software Project 1-2, students carry out a large software development project in teams for a real client from industry or academia. The students become familiar with the problem domain and implementation technologies of the chosen project. They also get an understanding of the structure and technical and non-technical challenges of software development projects
and learn to apply the Scrum process framework. The two project courses should be completed in the same academic year.

5

I-II

2.-3.

CS-C2140

Software Project 2

5

III-IV

2.-3.

CS-C2150

Theoretical Computer Science

In this course you will learn the basic models of computation and to build and use such computing machines. Finite automata, regular languages, pushdown automata, context-free grammars, Turing machines and computability, basics of computational complexity. You will also learn about the foundations behind the science of software, which are formal logic and theorem proving.

5

III-IV

2.

ELEC-C7241

Tietokoneverkot

Kurssilla tutustutaan verkkosovellusten ja tietokoneverkkojen toimintaan. Ymmärrät, kuinka Internet toimii, ja miten sen palveluita käytetään ohjelmistoissa. Osaat kirjoittaa verkon yli toimivia sovelluksia.

5

III-IV

2.

SCI-Cxxxx

SCI-projektikurssi

Kurssilla toteutetaan tuotekehitysprojekti monialaisessa ryhmässä, jossa toimit tietotekniikan asiantuntijana. Opit tyypillisen innovaatioprosessin vaiheet, ongelmanratkaisua, omien ajatusten esittämistä, liiketoimintanäkökohtien huomioimista ja projektinhallintaa.

5

I-II
tai
III-V

Aikaisintaan 2. kevät

SCI3027.kand

Kandidaatintyö ja -seminaari

Kandidatarbete och seminarium

10

I-II
tai
III-IV

3.

SCI.kyps

Kypsyysnäyte

0

 

3.

Valitse kolme seuraavista kursseista (yhteensä 15 op). Opiskelija voi halutessaan suorittaa enemmänkin pääaineen valinnaisia kursseja ja sisällyttää ylimääräiset vapaasti valittaviin opintoihin:

CS-C3100

Computer Graphics

Three-dimensional computer graphics denotes the techniques that draw everything on your screen when you play a game or watch an effects-heavy movie. The course covers the fundamentals of 3D graphics from a modern perspective, from geometric modeling to animation and to efficient rendering.

5

I-II

2.-3.

CS-C3120

Human-Computer Interaction

This course covers the foundations of Human-Computer Interaction - how computer systems are designed to support the needs of the people who will use them. We introduce UI and UX design with focus on a user-centered design process, from understanding user requirements to prototyping and testing designs, as part of the software development process. We also look into how the relationship between computers and humans is evolving, and how we might interact with computer systems in the future.

5

I-II

2.-3.

CS-C3160

Data Science

The goal of data science is to extract useful and insightful knowledge from digital data. This course introduces students to data-science methodology and tools. You will learn to represent natural data in digital form and to apply elementary statistical and algorithmic methods to process the digital data, leading to actionable results. Statistical estimation of parametric distributions, classification, prediction, clustering, pattern mining and network analysis. The course serves as a basis for subsequent studies in data analysis and machine learning.

5

II

2.-3.

CS-C3140

Operating Systems

Operating systems provide basic services and abstractions on which most computing applications and services are built. This course covers the fundamental components and functions of a complex operating system from process and memory management to file systems, networking and device drivers. Linux is used as a practical example.

5

I

2.-3.

CS-C3170

Web Software Development

The distributed architecture of web software differs fundamentally from traditional desltop software. This course provides a software development viewpoint to the web, covering both the client and server sides through exercises and a group project on web service development.

5

II-III

2.-3.

CS-C3130

Information Security

Fundamental concepts and models of computer security, common security mechanisms and their limitations, threat analysis, data privacy, secure programming. Learn to think like the attacker.

5

I

2.-3.

CS-C3150

Software Engineering

The course provides a broad, but practical view of the major areas in software engineering, including requirements, design, implementation, testing, and delivery as well as software processes, including traditional and agile development. The course is delivered in moodle and consists of a fixed schedule of video lectures and assignments.

5

I-II,

III-IV

2.-3.

CS-E4580

Programming Parallel Computers

This is a practical hands-on course on algorithm
engineering for modern parallel computers. The
students will learn how to design programs that make the best possible use of the computing power of multicore CPUs and GPUs.

5

V

2.-3.

...