Bachelor`s study programme
Pēdējās izmaiņas veiktas:
08.01.2013 |

**COMPUTER SCIENCE**

**Bachelor of Natural Sciences in Computer Science**

**Full-time I 4 years I 240 ECTS I Latvian, English**

The programme is designed according to recommendations of the ACM/IEEE Computing Curricula. It is awarded Euro-Inf Quality Label by European Quality Assurance Network for Informatics Education.

**Courses**

The programme offers five-module directions of the curriculum, majoring in any of the following: theoretical computer science, software engineering, information systems, information technology, computer engineering.

**Admission requirements**

General secondary education diploma.

**Enrollment criteria**

- satisfactory grade in Mathematics (60%);
- satisfactory grade in English (20%); the grade in English in the secondary education diploma can be replaced with the result of one of internationally recognized language tests;
- certificate in Latvian if available (20%).

EU/EEA/Swiss citizens and EU long-term resident status holders can compete for a state-financed study place if the Latvian language certificate is provided.

**Please note! **Instruction language in the first year is English or Latvian (on choice). Instruction language since the second year is mainly Latvian, so ability to follow lecture in Latvian must be attained by the end of the first year (Latvian language course will be provided).

Student must obtain 20 Latvian credit points per semester. 1 Latvian credit point means an average of 40 hours of students work, i.e., one full week. Latvian credit point is equal to 1.5 ECTS.

In an average workload is 16 class hours and 24 independent study hours per week during the semester.

At least 50% of the final grade has to be obtained during the semester, but at least 10% - during the exams session.

Examinations mainly are in written form. Oral examinations and tests also are used.

In general programmes have national orientation. Students are offered chances to spend one or two semesters studying in foreign universities (ERASMUS exchange). Some courses are taught in the English language.

Students have opportunities for further study at master’s study programme.

**Structure of the programme**

After two years of studies students have to choose one of specialization: Computer Science, Computer Engineering, Information Systems, Information Technology, and Software Engineering. A student has a possibility to choose the specialization Computer Science already after 1_{st} semester.

*Areas of specialization*

**Computer Science**– research and academic;**Software Engineering**– programmers and software project managers;**Information Technologies**– computer network specialists and project managers;**Information Systems**– database and information system specialists and project managers;**Computer Engineering**– embedded system and sensor network specialists and project managers.

*Modules mandatory for all areas of specialisation (code, subject, ECTS points)*

- DatZ1026: Computing Systems I (3)
- DatZ1027: Programming I (9)
- DatZ1028: Programming II (3)
- DatZ1029: Data structures and basic algorithms I (3)
- DatZ1035: Databases (3)
- DatZ1037: Automata Theory (3)
- DatZ1038: Computer Networks I (3)
- DatZ2029: Formal Grammars (3)
- DatZ2033: Practice (24)
- DatZ2072: Software Engineering (9)
- DatZ3050: Theory of Algorithms (3)
- DatZ3055: Course Paper in Computer Science (6)
- DatZ3123: Modeling basics (3)
- DatZ4002: Programming Languages (3)
- DatZ4017: Principles of Assembly Languages (6)
- DatZ4022: Operating System Concepts I (3)
- DatZ4023: Information Technology Project Management (3)
- DatZ4035: Bachelor paper in Computer Science (15)
- Filz1049: Introduction to Philosophy (3)
- Mate1007: Discrete mathematics I (3)
- Mate1008: Discrete Mathematics II (3)
- Mate1009: Algebra (3)
- Mate1014: Calculus I (3)
- Mate2004: Calculus II (3)
- Mate2005: Analytical geometry (3)
- Mate2012: Probability Theory and Statistics (3)
- Mate3044: Mathematical Logic (3)
- PolZ1042: Basic Problems of Modern Democracy: Latvia and Europe (3)
- SDSK1067: Internet, Netiquette And The Legal Regulation (3)
- VadZ1022: Entrepreneurship (6)

*Modules mandatory for particular areas of specialisation (code, subject, ECTS points)*

**Computer Science**

- DatZ1031: Web Technologies I (3)
- DatZ1032: Computing Systems II (3)
- DatZ1052: Foundations of Specification Languages (3)
- DatZ1053: Operating System (3)
- DatZ2017: Data structures and basic algorithms II (3)
- DatZ2019: Web Technologies II (3)
- DatZ2035: Seminar I (3)
- DatZ2055: Syntax and Semantics of Programming Languages (3)
- DatZ3051: Data security and cryptography (3)
- DatZ4026: Complexity of Computation (3)
- DatZ4028: Quantum Computation (3)
- Mate1015: Linear Algebra I (3)
- Mate3003: Combinatorics (3)
- Mate3028: Theory of Probability and Mathematical Statistics selected topics (3)
- Mate4005: Main Notions of Mathematics (6)

**Software engineering**

- DatZ1031: Web Technologies I (3)
- DatZ1032: Computing Systems II (3)
- DatZ1053: Operating System (3)
- DatZ2017: Data structures and basic algorithms II (3)
- DatZ2019: Web Technologies II (3)
- DatZ2035: Seminar I (3)
- DatZ2077: Capstone project I (6)
- DatZ3025: Software Requirement Analysis (6)
- DatZ3028: Analysis and optimization of basic algorithms (6)
- DatZ3038: Software Testing (3)
- DatZ3045: Databases (3)
- DatZ3126: Capstone project II (6)
- DatZ4019: Object-oriented programming (6)

**Information technologies**

- DatZ1031: Web Technologies I (3)
- DatZ1032: Computing Systems II (3)
- DatZ1039: Computer Networks II (3)
- DatZ1053: Operating System (3)
- DatZ2017: Data structures and basic algorithms II (3)
- DatZ2019: Web Technologies II (3)
- DatZ2035: Seminar I (3)
- DatZ2076: Computer Networks Administration (3)
- DatZ2077: Capstone project I (6)
- DatZ3037: Information Systems Security (3)
- DatZ3045: Databases (3)
- DatZ3057: Computer Networks III (3)
- DatZ3058: Computer Networks IV (3)
- DatZ3126: Capstone project II (6)
- DatZ4019: Object-oriented programming (6)
- DatZ4033: Coding Theory (3)

**Information systems**

- DatZ1031: Web Technologies I (3)
- DatZ1032: Computing Systems II (3)
- DatZ1053: Operating System (3)
- DatZ2017: Data structures and basic algorithms II (3)
- DatZ2019: Web Technologies II (3)
- DatZ2035: Seminar I (3)
- DatZ2077: Capstone project I (6)
- DatZ3025: Software Requirement Analysis (6)
- DatZ3036: Oracle Design Tools (3)
- DatZ3037: Information Systems Security (3)
- DatZ3045: Databases (3)
- DatZ3047: Data Warehouses (6)
- DatZ3048: Database practice (3)
- DatZ3126: Capstone project II (6)
- DatZ4019: Object-oriented programming (6)

**Computer engineering**

- DatZ1031: Web Technologies I (3)
- DatZ1032: Computing Systems II (3)
- DatZ1053: Operating System (3)
- DatZ2017: Data structures and basic algorithms II (3)
- DatZ2019: Web Technologies II (3)
- DatZ2035: Seminar I (3)
- DatZ2077: Capstone project I (6)
- DatZ3070: Wireless Sensor Networks (6)
- DatZ3072: Digital Signal Processing (3)
- DatZ3074: Introduction to Digital Design (6)
- DatZ3122: Linux System programming (6)
- DatZ3126: Capstone project II (6)
- DatZ4033: Coding Theory (3)

*Elective modules (code, subject, ECTS points)*

- DatZ1036: Multimedia technologies (3)
- DatZ2024: Office Information Systems (3)
- DatZ2030: Declarative Programming (3)
- DatZ2036: Seminar II (3)
- DatZ2063: VisualBasic (3)
- DatZ3027: Computational geometry (3)
- DatZ3029: Human - computer interaction (3)
- DatZ3056: Seminar III (3)
- DatZ3065: AB Suite Programming Environment (6)
- DatZ3068: Semantic Web (3)
- DatZ3073: Basics of Computer Graphics and Image Processing (3)
- DatZ3075: Neural Networks and Machine Learning (3)
- DatZ4020: Applied Algorithms (3)
- DatZ4024: RDBMS Oracle (6)
- DatZ4027: Advanced problems in algorithm theory (3)
- DatZ4030: Artificial Intelligence (3)
- DatZ4034: Seminar IV (3)
- DatZ4057: Selected Topics in Machine Learning (3)
- Fizi3021: Natural Sciences (6)
- Mate1005: Elements of graph theory (3)
- Mate2006: Linear Algebra II (3)
- Valo2335: English for Computing (3)