Software Engineering and Service Design: courses in ITMO University



Similar documents
Master's projects at ITMO University. Daniil Chivilikhin PhD ITMO University

Computer Science. Master of Science

Master s Program in Information Systems

How To Get A Computer Science Degree At Appalachian State

DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING

CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.)

Overview. Swarms in nature. Fish, birds, ants, termites, Introduction to swarm intelligence principles Particle Swarm Optimization (PSO)

C++ Programming Language

COURSE TITLE COURSE DESCRIPTION

Government of Russian Federation. Faculty of Computer Science School of Data Analysis and Artificial Intelligence

One LAR Course Credits: 3. Page 4

Masters in Information Technology

Numerical Research on Distributed Genetic Algorithm with Redundant

Master of Engineering - ME (Medical Software)

Big Data Frameworks Course. Prof. Sasu Tarkoma

Software Development Training Camp 1 (0-3) Prerequisite : Program development skill enhancement camp, at least 48 person-hours.

Masters in Human Computer Interaction

Masters in Advanced Computer Science

Masters in Artificial Intelligence

Masters in Computing and Information Technology

Masters in Networks and Distributed Systems

REGULATIONS FOR THE DEGREE OF BACHELOR OF SCIENCE IN BIOINFORMATICS (BSc[BioInf])

USTC Course for students entering Clemson F2013 Equivalent Clemson Course Counts for Clemson MS Core Area. CPSC 822 Case Study in Operating Systems

Doctor of Philosophy in Computer Science

Program description for the Master s Degree Program in Mathematics and Finance

Computer Science. Requirements for the Major (updated 11/13/03)

How To Get A Computer Engineering Degree

Division of Mathematical Sciences

LONG BEACH CITY COLLEGE MEMORANDUM

An Introduction to Data Mining. Big Data World. Related Fields and Disciplines. What is Data Mining? 2/12/2015

School of Computer Science

Learning outcomes. Knowledge and understanding. Competence and skills

Master of Science in Computer Science

These regulations apply to students admitted to the BBA(IS) degree in the academic year and thereafter.

Assessment for Master s Degree Program Fall Spring 2011 Computer Science Dept. Texas A&M University - Commerce

Masters in Advanced Computer Science

E6895 Advanced Big Data Analytics Lecture 3:! Spark and Data Analytics

Computer Science MS Course Descriptions

CS 40 Computing for the Web

CS5310 Algorithms 3 credit hours 2 hours lecture and 2 hours recitation every week

DATA STRUCTURES USING C

Lavastorm Analytic Library Predictive and Statistical Analytics Node Pack FAQs

Masters in Human Computer Interaction

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

FACULTY OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY AUTUMN 2016 BACHELOR COURSES

Development (60 ЕCTS)

D A T A M I N I N G C L A S S I F I C A T I O N

School of Computer Science

School of Computer Science

Fall 2012 Q530. Programming for Cognitive Science

ENHANCED CONFIDENCE INTERPRETATIONS OF GP BASED ENSEMBLE MODELING RESULTS

DIABLO VALLEY COLLEGE CATALOG

Assessment Plan for CS and CIS Degree Programs Computer Science Dept. Texas A&M University - Commerce

Exploring Computer Science A Freshman Orientation and Exploratory Course

A bachelor of science degree in electrical engineering with a cumulative undergraduate GPA of at least 3.0 on a 4.0 scale

Lab 4: 26 th March Exercise 1: Evolutionary algorithms

2. What are your learning objectives or outcomes associated with each student learning goal?

Introduction to Learning & Decision Trees

Genetic programming with regular expressions

Learning is a very general term denoting the way in which agents:

UF EDGE brings the classroom to you with online, worldwide course delivery!

Ph.D. in Bioinformatics and Computational Biology Degree Requirements

INFORMATION TECHNOLOGY PROGRAM

Industrial and Systems Engineering Master of Science Program Data Analytics and Optimization

EDUCATION ACT (CAP. 327) Master in Information Technology - M.IT - Degree Course Regulations, 2005

The Master s Degree with Thesis Course Descriptions in Industrial Engineering

CSCI 3136 Principles of Programming Languages

CS 51 Intro to CS. Art Lee. September 2, 2014

College of Health and Human Services. Fall Syllabus

Identifying At-Risk Students Using Machine Learning Techniques: A Case Study with IS 100

Computer Science/Software Engineering

02-201: Programming for Scientists

Information and Communications Technology Courses at a Glance

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

BOOSTING - A METHOD FOR IMPROVING THE ACCURACY OF PREDICTIVE MODEL

Bachelorclass

School of Computer Science

Lecture 9. Semantic Analysis Scoping and Symbol Table

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

CS 301 Course Information

1/20/2016 INTRODUCTION

The University of Jordan

Analysis Tools and Libraries for BigData

ROYAL HOLLOWAY University of London PROGRAMME SPECIFICATION

On the Use of Compression Algorithms for Network Traffic Classification

UNIVERSITY OF AMSTERDAM FACULTY OF SCIENCE. EDUCATION AND EXAMINATION REGULATIONS Academic Year PART B THE MASTER S PROGRAMME IN LOGIC

LOUGHBOROUGH UNIVERSITY

Graduate Co-op Students Information Manual. Department of Computer Science. Faculty of Science. University of Regina

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

Physical Data Organization

MSc Finance & Business Analytics Programme Design. Academic Year

How To Get A Masters Degree In Logistics And Supply Chain Management

Telecommunication (120 ЕCTS)

How to make the computer understand? Lecture 15: Putting it all together. Example (Output assembly code) Example (input program) Anatomy of a Computer

City University of Hong Kong. Information on a Course offered by Department of Information Systems with effect from Semester B in 2013 / 2014

Transcription:

Software Engineering and Service Design: courses in ITMO University Igor Buzhinsky igor.buzhinsky@gmail.com Computer Technologies Department Department of Computer Science and Information Systems December 1, 2014 Software Engineering and Service Design: courses in ITMO University December 1, 2014 1 / 25

Introduction: about the programme Software Engineering and Service Design Double degree master programme One thesis, two degree certificates Two supervisors (from ITMO and JYU) Students from JYU are offered to complete an autumn semester of their second year of studies in ITMO Courses are taught in English Software Engineering and Service Design: courses in ITMO University December 1, 2014 2 / 25

Introduction: about the studies Courses: Advanced software engineering More technical than in JYU Some programming skills (e.g. Java, C++) are required Knowledge of data structures (e.g. binary search trees) is appreciated Other notes: More attention on what you do, less attention on written reports The grading system is similar (5 = A, 4 = B,...) Software Engineering and Service Design: courses in ITMO University December 1, 2014 3 / 25

Course list 34 ECTS / one semester (fall 2015): Modern Information Theory, 6 ECTS Machine Learning, 5 ECTS Genetic and Evolutionary Computation, 4 ECTS Technologies and Instruments of Language Processors Development, 5 ECTS Advanced Data Structures, 4 ECTS Research Seminar, 7 ECTS Practice, 3 ECTS Concrete list of courses might change, elective courses might appear Software Engineering and Service Design: courses in ITMO University December 1, 2014 4 / 25

Modern Information Theory, 6 ECTS Information theory: basic concepts (e.g. entropy, information, channels, errors) Effective methods of data compression and coding (e.g. how modern archivers work) Lectures (much theory, e.g. theorems), practice and homework (problems), exam Software Engineering and Service Design: courses in ITMO University December 1, 2014 5 / 25

Modern Information Theory: information transmission Noise model: binary symmetric channel Software Engineering and Service Design: courses in ITMO University December 1, 2014 6 / 25

Modern Information Theory: Huffman coding A Huffman code tree for a message with letters a..f Software Engineering and Service Design: courses in ITMO University December 1, 2014 7 / 25

Machine Learning, 5 ECTS Weak artificial intelligence Algorithms for working with structured data (mostly numerical) Prediction: classification and regression Clustering, dimensionality reduction, feature filtering... Lectures (much theory) and practice Software Engineering and Service Design: courses in ITMO University December 1, 2014 8 / 25

Machine Learning: datasets Sample # Name Population Area, km 2 1 Finland 5 470 820 338 424 2 New Zealand 4 537 081 268 021 3 USA 319 309 000 9 857 306............ How can the data be used? Predict specific features (e.g. population happiness) based on their knowledge for some countries Gain additional knowledge by clustering the countries Software Engineering and Service Design: courses in ITMO University December 1, 2014 9 / 25

Machine Learning: clustering Two-dimensional (in general, many-dimensional) data, e.g. population and area of countries Clustering problem: find similar group of data points This example: three main clusters (https://commons.wikimedia.org/wiki/file%3aslink-gaussian-data.svg) Software Engineering and Service Design: courses in ITMO University December 1, 2014 10 / 25

Machine Learning: classification (Random forests) A decison tree for data with two variables, u and v, which separated the data into 2 classes A random forest is comprised of a number of such trees Software Engineering and Service Design: courses in ITMO University December 1, 2014 11 / 25

Genetic and Evolutionary Computation, 4 ECTS About evolutionary computation, a general optimization technique which uses ideas from natural evolution A theoretical course, almost only lectures (and a test in the end) Possibility to make presentations on seminars based on recent research papers (optional, will increase the mark) Possibility to solve open research problems (optional, will increase the mark) Software Engineering and Service Design: courses in ITMO University December 1, 2014 12 / 25

Genetic and Evolutionary Computation: general idea General optimization methodology for both discrete and continuous problems One needs to define a representation of the solution, or individual E.g. a bit string: 010011 A fitness function evaluates the individuals E.g. the number of ones in a bit string Mutation is a way to modify solutions: 010011 000011 Analysis of some algorithms on simple problems Software Engineering and Service Design: courses in ITMO University December 1, 2014 13 / 25

Genetic and Evolutionary Computation: algorithm example Random mutation hill climber x random() repeat (e.g. until the maximum fitness value is reached): x mutate(x) x if f (x ) > f (x) then x else x x'' x x' Software Engineering and Service Design: courses in ITMO University December 1, 2014 14 / 25

Genetic and Evolutionary Computation: multiobjective optimization Several criteria should be optimized Pareto frontier: the set of best solutions which do not dominate each other Algorithms try to approximate it Software Engineering and Service Design: courses in ITMO University December 1, 2014 15 / 25

Technologies and Instruments of Language Processors Development, 5 ECTS How to design a compiler or and interpreter? Formal grammars, abstract syntax trees, control flow... How to parse source code for a defined language, transform it to byte code, execute the byte code Lectures, coursework (design a compiler / interpreter), exam Software Engineering and Service Design: courses in ITMO University December 1, 2014 16 / 25

Technologies and Instruments of Language Processors Development: abstract syntax tree Parse tree Nodes might have attributes (e.g. operator type, variable name, value of a constant) Using the tree, one can construct symbol tables and even generate assembly code Software Engineering and Service Design: courses in ITMO University December 1, 2014 17 / 25

Technologies and Instruments of Language Processors Development: example of an ANTLR grammar program returns[code code] : nl* stmt[$code, null] (new_line stmt[$code, null])* nl* EOF ; stmt [Code code, LabelPair lp] : stmt_list[code, lp] s_if[code, lp] s_while[code] s_for[code] s_def[code] ; simple_stmt [Code code, LabelPair lp] : BREAK CONTINUE PASS ret[code] assignment[code] adjustment[code] ; stmt_list [Code code, LabelPair lp] : simple_stmt[code, lp] (SEMICOLON simple_stmt[code, lp])* SEMICOLON? ; Software Engineering and Service Design: courses in ITMO University December 1, 2014 18 / 25

Advanced Data Structures, 4 ECTS Persistent Data Structures Geometrical Data Structures for Local Search External Memory Data Structures Advanced Tree and Graph Data Structures Lectures and a coursework Software Engineering and Service Design: courses in ITMO University December 1, 2014 19 / 25

Advanced Data Structures: B-tree A tree with sorted data An extension of usual binary search trees: nodes can have multiple children Can be used when each memory access is time consuming Applications: databases and file systems (e.g. btrfs) Software Engineering and Service Design: courses in ITMO University December 1, 2014 20 / 25

Research Seminar, 7 ECTS A new course where students can present their advances about research on Master s theses Is organized by the Computer Technologies laboratory Thesis themes can be provided by ITMO University. Software Engineering and Service Design: courses in ITMO University December 1, 2014 21 / 25

Practice, 3 ECTS 2 options: Practice in an IT company (e.g. as a software developer or tester) Work in the Computer Technologies laboratory (e.g. on a Master s thesis) Software Engineering and Service Design: courses in ITMO University December 1, 2014 22 / 25

SESD on Web: University of Jyväskylä https://goo.gl/womuc5 Software Engineering and Service Design: courses in ITMO University December 1, 2014 23 / 25

SESD on Web: ITMO University https://goo.gl/fe3us7 Software Engineering and Service Design: courses in ITMO University December 1, 2014 24 / 25

Questions Thank you for your attention! Questions? Software Engineering and Service Design: courses in ITMO University Igor Buzhinsky igor.buzhinsky@gmail.com Software Engineering and Service Design: courses in ITMO University December 1, 2014 25 / 25