Difference between revisions of "Structure of the BS Degrees"

From IU
Jump to navigation Jump to search
(Created page with "= SUMMARY OF THE BS DEGREES = The Bachelor of Science in Computer Science and the Bachelor of Science in Computer Engineering at Innopolis University aim at creating professi...")
 
Line 184: Line 184:
 
and philosophy), focusing on the aspects most relevant to ICT.
 
and philosophy), focusing on the aspects most relevant to ICT.
 
Finally, life and safety, and sport complete the educational program with 10 credits.
 
Finally, life and safety, and sport complete the educational program with 10 credits.
  +
  +
  +
== Organization of the information about the BS Degree==
  +
  +
The information about the BS Degree is organized as follows. Chapter 5 on page 33 describes
  +
the overall structure of the degree in terms of the distribution of credits and courses. Chapter 6
  +
on page 36 outlines the main educational goals of the degree and the structures of the various
  +
courses of instruction. Then there are four chapters discussing the fourth stream: Chapter
  +
7on page 47 for Software Engineering, Chapter 8 on page 52 for Data Science, Chapter 9 on page 57 for Robotics, and Chapter 10on page 60 for Security-Blockchain. Eventually, Chapter
  +
11 on page 64 presents in depth the core courses taught in the degree and Chapter 12 on
  +
page 66 summarises the electives. In Appendix ?? on page ?? there is a graph summarising
  +
the overall curriculumand the dependencies between core courses, then in Appendix A on
  +
page 9 there is the description of the multidisciplinary exam, Appendix B on page 11 contains
  +
the procedures to elaborate and defend the thesis. Appendix C on page 22 contains the key
  +
competences acquired during the first two years of instruction while Appendix D on page 24
  +
details the knowledge areas covered by each of the streams. Finally, Appendix E on page 28
  +
list the main tools, technologies and programming languages introduced in the degree and
  +
Appendix F on page 30 specifies the specific courses of the direction of finance technologies.
  +
  +
= STRUCTURE OF THE DEGREE =
  +
  +
== Credits ==
  +
  +
Overall, the degree requires the student to acquire 240 credits organized over 4 years of study,
  +
with a pace of 60 credits per year.
  +
One credit of study approximately corresponds to 36 academic hours of effort per student,
  +
which can be organized differently depending on the course, as detailed further in Section
  +
14.4. This means that a course of 4 credits requires an effort of 144 hours,1 and an internship
  +
of 8 credits requires 288 hours (about 7 weeks).
  +
  +
== Organization of the Courses of Instruction ==
  +
Courses can be organized in a variety of ways, taking advantage of various teaching mechanisms,
  +
such as:
  +
  +
Lc: Class Lecture;
  +
Tut: Class Tutorial,where the instructor explains concepts guiding students through practical
  +
exercises;
  +
  +
Lab: Group Laboratory, where the students perform homework and/or exercises and/or
  +
projects coordinated by the instructor, asking help from the instructor as needed, and
  +
receiving if needed also additional material directly from the instructor.
  +
  +
IL: Individual Labs, where the students perform exercises and refer to the instructor in
  +
person or via electronic media to get support in case of need.
  +
During the first two years of instruction:
  +
  +
* Math and science courses have the structure of 2Lc-2Lab-2IL, meaning 2 academic
  +
hours per week of class lectures, 2 academic hours of labs, and 2 academic hours of
  +
individual labs;
  +
  +
* Computer science and engineering courses have the structure of 2Lc-2Tut-2Lab, meaning
  +
2 academic hours per week of class lectures, 2 academic hours of class tutorials,
  +
and 2 academic hours of labs.
  +
  +
The technical courses have the structure of 2Lc-2Lab-2IL meaning 2 academic hours per
  +
week of class lectures, 2 academic hours of labs, and 2 academic hours of individual labs.
  +
The courses in humanities have the structure of 2Lc-4IL.
  +
  +
== Internships ==
  +
  +
Every year the students have a mandatory internship during the summer break. There are
  +
three types of internships:
  +
  +
* Industrial – students work in Innopolis University partner IT companies, primarily
  +
located within the city of Innopolis
  +
* Scientific – students work in Innopolis University labs on ongoing research and development
  +
tasks
  +
* Administrative – students work in different Innopolis University departments on IT
  +
analysis, design, and implementation projects.
  +
  +
It is also possible to have internships that combine these three types.
  +
The internship usually starts once the exam session for the spring semester is completed.
  +
  +
== Knowledge of English ==
  +
  +
A graduate fromthe program is expected to know English at least at the level of IELTS 7. To
  +
achieve this goal, Innopolis University takes the following steps:2
  +
  +
* At admission at the university, the student must have a knowledge of English at least at
  +
level of IELTS 5.
  +
* At the end of the first year of instruction, the student must have a knowledge of English
  +
equivalent to at least the level 5.5 of IELTS.
  +
* English equivalent to at least the level 6 of IELTS.
  +
* At the end of the third year of instruction, the student must have a knowledge of English
  +
equivalent to at least the level 6.5 of IELTS.
  +
* At the end of the fouth year of instruction, the studentmust have a knowledge of English
  +
equivalent to at least the level 7 of IELTS.
  +
  +
The university will make available to the student the fundamental resources to achieve
  +
the required levels. However, it is the responsibility of the student to achieve them, taking
  +
advantage of resources provided by the university and others.
  +
  +
== Multidisciplinary Exam ==
  +
  +
At the end of the second year of study, the student has to pass amultidisciplinary examaimed
  +
at evaluating their comprehensive understanding of the discipline beyond the borders of an
  +
individual subject. This ensures that students who progress to years three and four have the
  +
ability to engage in system-oriented thinking and have the capacity to solve broadly-based IT
  +
problems.
  +
  +
== Number of Admitted Students ==
  +
The number of admitted students is defined by the Department of Education based on the
  +
requests of the senior university administration and of the university stakeholders.
  +
  +
  +
= MAIN EDUCATIONAL AIMS AND STRUCTURES =
  +
  +
== Overall Educational Goals ==
  +
  +
Innopolis University aims to prepare its students for working in various IT-related professions
  +
as software engineers, data scientists, robotics engineers, and junior scientists, to name a few.
  +
A graduate of Innopolis University should be highly qualified to enter the IT job market in
  +
Russia in the position of Junior Software Engineer or its equivalent and to be immediately
  +
productive.
  +
  +
A graduate of Innopolis University is able to:
  +
  +
1. Understand the fundamental theoretical concepts and practical results of computer
  +
science and engineering,
  +
  +
2. Use programming languages and other representative tools for information technology,
  +
with a firmunderstanding of the mathematical abstraction behind these technologies,
  +
and
  +
  +
3. Appreciate the underlying human, social and industrial aspects of information technology.
  +
Innopolis University aims to create a vibrant international environment for learning. For
  +
this reason, the primary language of education at Innopolis University is English.
  +
Innopolis University also aims to prepare its students for the constantly evolving world of
  +
information technology. A graduate of Innopolis University possesses not only IT skills but
  +
also various essential soft skills such as self-reliance, team-work, and time management.
  +
To facilitate interaction with local and global industry, different means of delivery of the
  +
individual courses and of whole degrees are deployed, e.g., problem-based teaching, flipped
  +
classrooms, and inverted syllabi.
  +
Innopolis University attracts top students in Russia and worldwide.
  +
  +
== Organization of Studies ==
  +
  +
The curriculum spans four years.
  +
First and second-year students can choose one of the following tracks:
  +
  +
* Computer Engineering
  +
* Computer Science
  +
  +
Despite their choice students take fundamental courses in Engineering, Mathematics and
  +
Computer Science in each semester but in different depths of studying.
  +
Each track contains the same set of core courses, but the courses that are taught in different
  +
level of depth have different titles, e.g. Calculus-I vsMathematical Analysis-I, Analytical
  +
Geometry - I vs Essentials of Analytical Geometry-I, Programming Software Systems-I vs
  +
Introduction to Programming-I.
  +
  +
Also, these tracks have a set of courses with lectures that are taught for all the students
  +
simultaneously but with different approaches to practical classes, e.g. Computer Architecture
  +
(Fundamentals of Computer Architecture) and DiscreteMath, Philosophy(Logic).
  +
The computer science track focuses on topics in computational theory. These include the
  +
virtual aspects of computers, focusing on software, rather than hardware. As a field that is
  +
closely aligned with mathematics, computer science applies theoretical ideas to solve real
  +
world problems. Computer science degree programs require courses including analysis of
  +
algorithms, operating system principles, computer architecture and software engineering,
  +
so an interest in math, puzzles, and problem-solving would suit a student well. A degree in
  +
computer science will cover essential hardware and software topics, including computer
  +
organization and architecture.
  +
Computer science is often described as more abstract and less hands-on than computer
  +
engineering. As a computer scientist, students will focus on using computational theory,
  +
mathematics and data structures to write effective codes.
  +
Computer engineering track focuses on how to build devices including robots. It is a field
  +
that combines physics, electrical engineering and computer science. The focus of computer
  +
engineering is on hardware, rather than software and it’s closer to Robotics rather than to
  +
Software Development.
  +
  +
The work of a computer engineer works in the physical world and involves understanding
  +
howwe can harness the laws of physics and electronics to create better computer components.
  +
They aremore likely to spendmore time at a lab bench than writing code. Fromthis point
  +
of view computer engineering is often described as more practical activity than computer
  +
engineering. Learning the same subjects students will bemore focused on the applications
  +
of the theory for solving real life problems.
  +
Third and fourth-year students can choose one of the following streams:
  +
  +
* Software engineering
  +
* Data science
  +
* Robotics
  +
* Security-Blockchain
  +
  +
Each stream has its own set of specific courses, as well as those that are shared with
  +
other streams. Moreover, the stream in data science has a direction in finance technologies,
  +
specializing data science for the banking and financial industry.
  +
The organization of the courses is as detailed in Tables 14.2 and 4.2. In addition to them
  +
there are courses for sport in every semester. Furthermore, students of each stream do a
  +
project in the spring semester of the third year, and a thesis in both semesters of the final
  +
(fourth) year.
  +
  +
Each of the taught courses (core and electives) and the thesis course done during the
  +
semester count for 4 credits. The sport courses count for one credit each. The Life Safety
  +
course counts for 2 credits. The summer internship counts for 14 credits in the first year, 10
  +
credits in the second and third years, and 8 credits in the fourth year.
  +
  +
== Main Areas and Knowledge Areas ==
  +
  +
To effectively design the curriculum, we identify areas that must be covered in the curriculum.
  +
We distinguish the following two kinds of areas, i.e., main areas and knowledge areas. First,
  +
the main areas are the key components of the degree program listed as follows:
  +
  +
* (CSE) Computer Science and Engineering
  +
* (M)Math
  +
* (P) Physics
  +
* (H) Humanities
  +
* (M-CS)Math and Computer Science
  +
* (IT) Internship and Theses
  +
  +
Meanwhile, the knowledge areas shown in the following list identify more specifically the
  +
body of knowledge that must be covered in the curriculum.
  +
  +
* (IS) Intelligent Systems
  +
* (GV) Graphics and Visualization
  +
* (PL) Programming Languages
  +
* (PD) Parallel and Distributed Programming
  +
* (SDF) Software Development Fundamentals
  +
* (SE) Software Engineering
  +
* (EE) Electrical Engineering
  +
* (CE) Control Engineering
  +
* (OS) Operating Systems
  +
* (CN) Computational Science
  +
* (MP)Mathematical Physics
  +
* (Ph) Philosophy
  +
* (Hs) History
  +
* (FN) Finance
  +
* (ME)Mechanical Engineering
  +
* (AL) Algorithms and Complexity
  +
* (HCI) Human Computer Interaction
  +
* (BE) Bio-engineering
  +
* (SP) Social Issues and Professional Practice
  +
* (CM) Communications
  +
* (AO) Architecture and Organization
  +
* (SP) Social Issues and Professional Practice
  +
  +
We identified the knowledge areas based on the CurriculumGuidelines for undergraduate
  +
Degree Programs in Computer Science by the joint task force between ACM(Association for
  +
ComputingMachinery) and IEEE Computer Society in 2013.1 Note that a knowledge area is a
  +
higher-level concept than a course and an individual course can cover diverse knowledge
  +
areas when appropriate.
  +
  +
We provide throughout the document how each course is mapped to a main area and
  +
knowledge areas. We also provide the distribution of the knowledge areas in the first two
  +
years, and in the three specialised streams.
  +
  +
== Structure of the First Two Years of Instruction ==
  +
  +
The primary objective of the first two-year curriculumis to provide a solid scientific and technical
  +
foundation for a career in Computer Science and Engineering, prior to the development
  +
of specialized knowledge and skills, which occurs in the second two years of the curriculum.
  +
More especially, the aimof the first two years is to foster the following fundamental skills
  +
and knowledge:
  +
  +
* Ability to develop computer programs and systems efficiently. Related courses are
  +
Introduction to Programming and Software Project where the former focuses on improving
  +
the programming skills of students, while the latter also involves other diverse
  +
software development activities such as software design and maintenance.
  +
* Ability to solve problems efficiently using computer programs. Related courses are
  +
Data Structures and Algorithms, and Introduction to AI.
  +
* Ability to understand the theory and concept of computer systems. Related courses are
  +
Computer Architecture, DataModeling and Databases, Operating Systems, Networks,
  +
and Theoretical Computer Science.
  +
  +
To this end, the curriculum emphasizes building mathematical foundations and covers
  +
diverse math subjects—Mathematical Analysis, Differential Equations, Analytic Geometry
  +
and Linear Algebra, Discrete Math, and Probability and Statistics. With strong math skills, students will be able to grasp any advanced subjects in their interest domain of information
  +
technology.
  +
The curriculum also provides basic subjects on Physics and Electronics. Knowledge of
  +
these subjects will be essential in pursuing further study in Robotics, and other areas of
  +
information technology such as Cyber-Physical Systems, and Internet of Things.
  +
Specifically, the students during the first year (Table 6.3) take courses on the most fundamental
  +
computer science/engineering subjects (Introduction to Programming I/II, Data
  +
Structures and Algorithms, Computer Architecture), math (Mathematical Analysis I/II, Analytic
  +
Geometry and Linear Algebra I/II, DiscreteMath, Probability and Statistics), and physics
  +
(Physics I). They are the languages of information technology, and will be the fundamental
  +
foundation when students pursue their specialized streams in their last two years of the
  +
program.
  +
During the second year (Table 6.4), students take essential computer science/engineering
  +
courses such as DataModeling and Databases I/II, Operating Systems, Software Project, Networks,
  +
and Theoretical Computer Science. Also, Introduction to AI is, given its importance,
  +
taken by all students. As in the first year, students also take courses on math (Differential
  +
Equations, Stochastic Processes). Lastly, students also take a fundamental course on
  +
electronics (Physics II) in the second year.
  +
Last but not least, internship (Internship I/II) is a core part of the curriculum throughout
  +
the first two years. Students should complete their internship every summer.

Revision as of 13:24, 9 September 2021

SUMMARY OF THE BS DEGREES

The Bachelor of Science in Computer Science and the Bachelor of Science in Computer Engineering at Innopolis University aim at creating professional software engineers, data scientists, robotics engineers, security & blockchain experts, and junior scientistswho possess a deep understanding of fundamental theoretical and practical results of computer science and engineering, are able to handle the fundamental mathematical abstractions to elaborate data, can use modern tools, languages and technologies, and can understand the underlying human, social and industrial aspects of information technology.

Moreover, a person with a Bachelor of Science in Computer Science or a Bachelor of Science in Computer Engineering acquired at Innopolis University should be eminently qualified to enter the IT job market in Russia in the position of junior software developer, software engineer, robotics engineer, data scientist, or equivalent.

The primary target of these graduates is the industry of the city of Innopolis. Therefore, the the program foresees many opportunities for synergies with these companies and businesses in Innopolis and the curricula reflect these industry-university synergies, leveraging substantial benefit for both parties.

Both the Bachelor of Science in Computer Science and the Bachelor of Science in Computer Engineering at Innopolis University are organized in 4 years of instruction performed mostly in English.

The first 2 years contain the fundamental courses in mathematics and physics, and in computer science and engineering. Students have the option of selecting one of two tracks: (a) Computer Engineering, (b) Computer Science.

The major goal of such an approach is to distinguish the difference in paths that consider students' career goals. For instance, if a student is looking to work in cybersecurity or as a systems administrator, computer science may be a good fit for him/her. If his/her goal is to eventually become a software architect or developer, a degree in computer science or computer engineering will equip him/her for the job. Advanced computer science curricula thoroughly cover how networks and systems security protocols work while teaching programming and appropriate mathematical concepts. Computer scientists typically have an understanding of:

  • programming languages;
  • how to run, maintain, and fix operating systems;
  • data structures and algorithms;
  • basic cybersecurity and cryptography;
  • knowledge of designing, coding, and testing software;
  • how computer networks work and how to manage them.

Some common skills a computer engineer utilize include:

  • A complete understanding of how computer hardware and architecture work;
  • knowledge of designing, coding, and testing software;
  • flexibility to work with a wide range of software, which can be highly specialized depending

on the company and/or industry;

  • ability to build your own PC systems and repair/maintain device drivers.

At the moment there is no special selection procedure for each track. Students pick the program by their own on the basis of the knowledge obtained in Higher School. In the next 2 years the students have the option of selecting one of the four streams: (a) Software Engineering, (b) Data Science, (c) Robotics, and (d) Security-Blockchain.

To provide a solid grounding for the application of the studies, there is an internship at the end of every year. This can be performed in a software company located in the city of Innopolis, or also, if such option is not practical, in a company located elsewhere in Russia, in the university labs or administration, or in another suitable institution.

The curriculum also attaches significant importance to instruction in the humanities (history and philosophy), focusing on the aspects most relevant to ICT. At the end of each degree, students write theses, and to write theses effectively, they take a course on Academic Research and Writing Culture. This thesis reflects the highest standards of university education and can also be developed in collaboration with a company.

INTRODUCTION

Premises

The Bachelor of Science in Computer Science and Engineering at Innopolis University aims at providing its students with a quality undergraduate education in both the theoretical and applied foundations of computer science. The goal is to train students through comprehensive educational programs, and research in collaboration with industry and government, to effectively apply this education to solve real-world problems and enhance graduates’ potential for high-quality lifelong careers.

The Bachelor of Science in Computer Science and Engineering at Innopolis University is organized in 4 years of instruction performed mostly in English and comprises over 240 ECTS (Europe Credit Transfer and Accumulation System).

Overall, a student takes 45 courses. The yearly course distribution (the number of core and elective courses) is the same for Software Engineering, Data Science, and Security-Blockchain streams, but it is slightly different for the Robotics stream.

Distribution of the core and elective courses in Software Engineering, Data Science, a Security-Blockchain streams:

Year Core Elective
First 12 0
Second 12 0
Third 10 1
Fourth 6 4
Total 40 5

Distribution of the core and elective courses in Robotics stream:

Year Core Elective
First 12 0
Second 12 0
Third 11 0
Fourth 8 2
Total 43 2

Distribution of the credits for internships and theses:

Year Credit
First 14
Second 10
Third 10
Fourth 24
Total 58

The first 2 years (120 credits) contain the fundamental courses in mathematics and physics, and in computer science and engineering. The body of knowledge in these years consists ofMath, Physics, Algorithms and Complexity, Programming Languages, Software Development Fundamentals, Architecture and organization, Operating Systems, Computational Science, information management, and Networking and Communications.

In the next 2 years (120 credits) the students have the option of selecting one of the four streams: (a) Software Engineering, (b) Data Science, (c) Robotics, and (d) Security-Blockchain. The body of knowledge in these years mainly consists of Graphics and Visualization, Information Assurance and Security, Intelligent Systems, Parallel, and Distributed Computing, Software Engineering, Systems Fundamentals, Human-Computer Interaction, Finance, Mechanical Engineering, Electrical Engineering, Mathematical Physics, Robotics, and Control Engineering.

The curriculum also attaches significant importance to instruction in the humanities (history and philosophy), focusing on the aspects most relevant to ICT. Finally, life and safety, and sport complete the educational program with 10 credits.


Organization of the information about the BS Degree

The information about the BS Degree is organized as follows. Chapter 5 on page 33 describes the overall structure of the degree in terms of the distribution of credits and courses. Chapter 6 on page 36 outlines the main educational goals of the degree and the structures of the various courses of instruction. Then there are four chapters discussing the fourth stream: Chapter 7on page 47 for Software Engineering, Chapter 8 on page 52 for Data Science, Chapter 9 on page 57 for Robotics, and Chapter 10on page 60 for Security-Blockchain. Eventually, Chapter 11 on page 64 presents in depth the core courses taught in the degree and Chapter 12 on page 66 summarises the electives. In Appendix ?? on page ?? there is a graph summarising the overall curriculumand the dependencies between core courses, then in Appendix A on page 9 there is the description of the multidisciplinary exam, Appendix B on page 11 contains the procedures to elaborate and defend the thesis. Appendix C on page 22 contains the key competences acquired during the first two years of instruction while Appendix D on page 24 details the knowledge areas covered by each of the streams. Finally, Appendix E on page 28 list the main tools, technologies and programming languages introduced in the degree and Appendix F on page 30 specifies the specific courses of the direction of finance technologies.

STRUCTURE OF THE DEGREE

Credits

Overall, the degree requires the student to acquire 240 credits organized over 4 years of study, with a pace of 60 credits per year. One credit of study approximately corresponds to 36 academic hours of effort per student, which can be organized differently depending on the course, as detailed further in Section 14.4. This means that a course of 4 credits requires an effort of 144 hours,1 and an internship of 8 credits requires 288 hours (about 7 weeks).

Organization of the Courses of Instruction

Courses can be organized in a variety of ways, taking advantage of various teaching mechanisms, such as:

Lc: Class Lecture; Tut: Class Tutorial,where the instructor explains concepts guiding students through practical exercises;

Lab: Group Laboratory, where the students perform homework and/or exercises and/or projects coordinated by the instructor, asking help from the instructor as needed, and receiving if needed also additional material directly from the instructor.

IL: Individual Labs, where the students perform exercises and refer to the instructor in person or via electronic media to get support in case of need. During the first two years of instruction:

  • Math and science courses have the structure of 2Lc-2Lab-2IL, meaning 2 academic

hours per week of class lectures, 2 academic hours of labs, and 2 academic hours of individual labs;

  • Computer science and engineering courses have the structure of 2Lc-2Tut-2Lab, meaning

2 academic hours per week of class lectures, 2 academic hours of class tutorials, and 2 academic hours of labs.

The technical courses have the structure of 2Lc-2Lab-2IL meaning 2 academic hours per week of class lectures, 2 academic hours of labs, and 2 academic hours of individual labs. The courses in humanities have the structure of 2Lc-4IL.

Internships

Every year the students have a mandatory internship during the summer break. There are three types of internships:

  • Industrial – students work in Innopolis University partner IT companies, primarily

located within the city of Innopolis

  • Scientific – students work in Innopolis University labs on ongoing research and development

tasks

  • Administrative – students work in different Innopolis University departments on IT

analysis, design, and implementation projects.

It is also possible to have internships that combine these three types. The internship usually starts once the exam session for the spring semester is completed.

Knowledge of English

A graduate fromthe program is expected to know English at least at the level of IELTS 7. To achieve this goal, Innopolis University takes the following steps:2

  • At admission at the university, the student must have a knowledge of English at least at

level of IELTS 5.

  • At the end of the first year of instruction, the student must have a knowledge of English

equivalent to at least the level 5.5 of IELTS.

  • English equivalent to at least the level 6 of IELTS.
  • At the end of the third year of instruction, the student must have a knowledge of English

equivalent to at least the level 6.5 of IELTS.

  • At the end of the fouth year of instruction, the studentmust have a knowledge of English

equivalent to at least the level 7 of IELTS.

The university will make available to the student the fundamental resources to achieve the required levels. However, it is the responsibility of the student to achieve them, taking advantage of resources provided by the university and others.

Multidisciplinary Exam

At the end of the second year of study, the student has to pass amultidisciplinary examaimed at evaluating their comprehensive understanding of the discipline beyond the borders of an individual subject. This ensures that students who progress to years three and four have the ability to engage in system-oriented thinking and have the capacity to solve broadly-based IT problems.

Number of Admitted Students

The number of admitted students is defined by the Department of Education based on the requests of the senior university administration and of the university stakeholders.


MAIN EDUCATIONAL AIMS AND STRUCTURES

Overall Educational Goals

Innopolis University aims to prepare its students for working in various IT-related professions as software engineers, data scientists, robotics engineers, and junior scientists, to name a few. A graduate of Innopolis University should be highly qualified to enter the IT job market in Russia in the position of Junior Software Engineer or its equivalent and to be immediately productive.

A graduate of Innopolis University is able to:

1. Understand the fundamental theoretical concepts and practical results of computer science and engineering,

2. Use programming languages and other representative tools for information technology, with a firmunderstanding of the mathematical abstraction behind these technologies, and

3. Appreciate the underlying human, social and industrial aspects of information technology. Innopolis University aims to create a vibrant international environment for learning. For this reason, the primary language of education at Innopolis University is English. Innopolis University also aims to prepare its students for the constantly evolving world of information technology. A graduate of Innopolis University possesses not only IT skills but also various essential soft skills such as self-reliance, team-work, and time management. To facilitate interaction with local and global industry, different means of delivery of the individual courses and of whole degrees are deployed, e.g., problem-based teaching, flipped classrooms, and inverted syllabi. Innopolis University attracts top students in Russia and worldwide.

Organization of Studies

The curriculum spans four years. First and second-year students can choose one of the following tracks:

  • Computer Engineering
  • Computer Science

Despite their choice students take fundamental courses in Engineering, Mathematics and Computer Science in each semester but in different depths of studying. Each track contains the same set of core courses, but the courses that are taught in different level of depth have different titles, e.g. Calculus-I vsMathematical Analysis-I, Analytical Geometry - I vs Essentials of Analytical Geometry-I, Programming Software Systems-I vs Introduction to Programming-I.

Also, these tracks have a set of courses with lectures that are taught for all the students simultaneously but with different approaches to practical classes, e.g. Computer Architecture (Fundamentals of Computer Architecture) and DiscreteMath, Philosophy(Logic). The computer science track focuses on topics in computational theory. These include the virtual aspects of computers, focusing on software, rather than hardware. As a field that is closely aligned with mathematics, computer science applies theoretical ideas to solve real world problems. Computer science degree programs require courses including analysis of algorithms, operating system principles, computer architecture and software engineering, so an interest in math, puzzles, and problem-solving would suit a student well. A degree in computer science will cover essential hardware and software topics, including computer organization and architecture. Computer science is often described as more abstract and less hands-on than computer engineering. As a computer scientist, students will focus on using computational theory, mathematics and data structures to write effective codes. Computer engineering track focuses on how to build devices including robots. It is a field that combines physics, electrical engineering and computer science. The focus of computer engineering is on hardware, rather than software and it’s closer to Robotics rather than to Software Development.

The work of a computer engineer works in the physical world and involves understanding howwe can harness the laws of physics and electronics to create better computer components. They aremore likely to spendmore time at a lab bench than writing code. Fromthis point of view computer engineering is often described as more practical activity than computer engineering. Learning the same subjects students will bemore focused on the applications of the theory for solving real life problems. Third and fourth-year students can choose one of the following streams:

  • Software engineering
  • Data science
  • Robotics
  • Security-Blockchain

Each stream has its own set of specific courses, as well as those that are shared with other streams. Moreover, the stream in data science has a direction in finance technologies, specializing data science for the banking and financial industry. The organization of the courses is as detailed in Tables 14.2 and 4.2. In addition to them there are courses for sport in every semester. Furthermore, students of each stream do a project in the spring semester of the third year, and a thesis in both semesters of the final (fourth) year.

Each of the taught courses (core and electives) and the thesis course done during the semester count for 4 credits. The sport courses count for one credit each. The Life Safety course counts for 2 credits. The summer internship counts for 14 credits in the first year, 10 credits in the second and third years, and 8 credits in the fourth year.

Main Areas and Knowledge Areas

To effectively design the curriculum, we identify areas that must be covered in the curriculum. We distinguish the following two kinds of areas, i.e., main areas and knowledge areas. First, the main areas are the key components of the degree program listed as follows:

  • (CSE) Computer Science and Engineering
  • (M)Math
  • (P) Physics
  • (H) Humanities
  • (M-CS)Math and Computer Science
  • (IT) Internship and Theses

Meanwhile, the knowledge areas shown in the following list identify more specifically the body of knowledge that must be covered in the curriculum.

  • (IS) Intelligent Systems
  • (GV) Graphics and Visualization
  • (PL) Programming Languages
  • (PD) Parallel and Distributed Programming
  • (SDF) Software Development Fundamentals
  • (SE) Software Engineering
  • (EE) Electrical Engineering
  • (CE) Control Engineering
  • (OS) Operating Systems
  • (CN) Computational Science
  • (MP)Mathematical Physics
  • (Ph) Philosophy
  • (Hs) History
  • (FN) Finance
  • (ME)Mechanical Engineering
  • (AL) Algorithms and Complexity
  • (HCI) Human Computer Interaction
  • (BE) Bio-engineering
  • (SP) Social Issues and Professional Practice
  • (CM) Communications
  • (AO) Architecture and Organization
  • (SP) Social Issues and Professional Practice

We identified the knowledge areas based on the CurriculumGuidelines for undergraduate Degree Programs in Computer Science by the joint task force between ACM(Association for ComputingMachinery) and IEEE Computer Society in 2013.1 Note that a knowledge area is a higher-level concept than a course and an individual course can cover diverse knowledge areas when appropriate.

We provide throughout the document how each course is mapped to a main area and knowledge areas. We also provide the distribution of the knowledge areas in the first two years, and in the three specialised streams.

Structure of the First Two Years of Instruction

The primary objective of the first two-year curriculumis to provide a solid scientific and technical foundation for a career in Computer Science and Engineering, prior to the development of specialized knowledge and skills, which occurs in the second two years of the curriculum. More especially, the aimof the first two years is to foster the following fundamental skills and knowledge:

  • Ability to develop computer programs and systems efficiently. Related courses are

Introduction to Programming and Software Project where the former focuses on improving the programming skills of students, while the latter also involves other diverse software development activities such as software design and maintenance.

  • Ability to solve problems efficiently using computer programs. Related courses are

Data Structures and Algorithms, and Introduction to AI.

  • Ability to understand the theory and concept of computer systems. Related courses are

Computer Architecture, DataModeling and Databases, Operating Systems, Networks, and Theoretical Computer Science.

To this end, the curriculum emphasizes building mathematical foundations and covers diverse math subjects—Mathematical Analysis, Differential Equations, Analytic Geometry and Linear Algebra, Discrete Math, and Probability and Statistics. With strong math skills, students will be able to grasp any advanced subjects in their interest domain of information technology. The curriculum also provides basic subjects on Physics and Electronics. Knowledge of these subjects will be essential in pursuing further study in Robotics, and other areas of information technology such as Cyber-Physical Systems, and Internet of Things. Specifically, the students during the first year (Table 6.3) take courses on the most fundamental computer science/engineering subjects (Introduction to Programming I/II, Data Structures and Algorithms, Computer Architecture), math (Mathematical Analysis I/II, Analytic Geometry and Linear Algebra I/II, DiscreteMath, Probability and Statistics), and physics (Physics I). They are the languages of information technology, and will be the fundamental foundation when students pursue their specialized streams in their last two years of the program. During the second year (Table 6.4), students take essential computer science/engineering courses such as DataModeling and Databases I/II, Operating Systems, Software Project, Networks, and Theoretical Computer Science. Also, Introduction to AI is, given its importance, taken by all students. As in the first year, students also take courses on math (Differential Equations, Stochastic Processes). Lastly, students also take a fundamental course on electronics (Physics II) in the second year. Last but not least, internship (Internship I/II) is a core part of the curriculum throughout the first two years. Students should complete their internship every summer.