Pääaine

Laajuus: 65 op
Vastuuprofessori: prof. Tuomas Aura
Koodi: SCI3027

Koodi

Kurssin nimi

Op

Periodi

Suoritusvuosi

Pakolliset kurssit 55 op:

 

CS-A1150

Tietokannat

Tietokantoja tarvitaan kaikkialla: esimerkiksi opiskelijarekisterit, verkkokaupat, terveydenhuollon tiedot jne. Tällä kurssilla opit suunnittelemaan tietokantoja. Opit tekemään erilaisia tietokantakyselyjä SQL-kielellä. Kurssilla käsitellään myös lyhyesti XML:ää ja NoSQL-tietokantoja.

5

III-V

1.

CS-C2110

Ohjelmointistudio 1: mediaohjelmointi

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 mm. rinnakkaisuuden hallintaan ja koodin 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

Introduction to automata theory, grammars and computability. Finite automata, regular expressions, context-free grammars, pushdown automata, Turing machines, halting problem, unsolvability, reduction between computational problems, complexity classes P and NP.

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-C1000

SCI-projektikurssi

10

I-II
tai
III-V

Aikaisintaan 2. kevät

SCI3027.kand

Kandidaatintyö ja -seminaari

10

I-II
tai
III-IV

3.

 

Kandidatarbete och seminarium

 

 

 

SCI.kyps

Kypsyysnäyte

0

 

3.

Valitse kaksi seuraavista kursseista (yhteensä 10 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

Data science aims at extracting useful and insightful knowledge from digital data. There is a large demand for data science competence in many industries. The application fields of data science include science and technology, retail industry, process industry, banking, financial services industry, and enterprise systems. The systems are generating and storing huge amounts of data. Data must be distilled to useful information for actionable insights. Many start-up companies are based on data science ideas.

The course CS-C3160 Data Science provides an introduction to data science as a whole and presents the students methods and tools of data science. The course contents are technical, so we will make use of mathematics and programming in order to learn and implement algorithms in this exciting field! The course serves as a basis for subsequent courses in data science 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, 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.

Login Form

Powered by jms multisite for joomla