Structure of the BS Degrees

From IU
Jump to navigation Jump to search

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 typically 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 specialized streams.

Structure of the First Two Years of Instruction

The primary objective of the first two-year curriculum is 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 aim of 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 the 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 data modeling 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.


Overview of the Second Two Years of Instruction

Equipped with fundamental competencies in math, engineering, and computer science in the first two years of the BS program, the students enter the third and the fourth year where they are trained on four different career paths having the fastest-growing employment opportunities in the world. The four streams are: • Software engineering, • Data science, • Robotics, • Security-Blockchain The Software Engineering Streamcombines system theory, computer science, and software engineering for students interested in pursuing careers in software engineering. The Data Science Stream integrates intelligent systems, computer science, and data science to produce graduates with the skills needed to evaluate and interpret big data. The Robotics Stream is aimed at giving fundamental knowledge in mechanics, mechatronics, electrical engineering, control theory, and robotics to provide students an understanding of the basic principles of robotic systems in particular and technical systems in general. Finally, the Security-Blockchain stream focuses on information security, relating to the design and development of secure computer software, providing in-depth handling of the current landscape of vulnerabilities, risks, and security disciplines. Alongside computer security, the stream also covers aspects related to distributed ledgers technologies (e.g., cryptocurrencies and blockchain technologies). Students take core courses through the third and fourth years, some of which belong to individual streams while others are shared. They also take one-five electives, one in the second semester of the third year and others in the fourth year. Students also need to complete a project in the third year. During the fourth year, students need to complete their theses supervised by Innopolis University faculty.


SOFTWARE ENGINEERING STREAM

Specific Educational Goals of the Program

The Software Engineering Stream is designed for students interested in pursuing careers in software engineering. The Software Engineering Stream mainly consists of courses that provide students with a core background in designing, building, validating, and maintaining complex software systems. As machine learning is becoming one of the core competencies required for software engineers, courses relevant to that topic are also provided to students in the Software Engineering Stream. Learning Outcomes: A student completing the Software Engineering Stream will be able to:

  • Solve difficult computer systems problems in a creative and innovative way.
  • Design a system, or a component of it, in order to meet the desired needs within realistic

economic and environmental constraints.

  • Understand the importance of componentization and reuse.
  • Use models, techniques, and technologies available to cover all the phases of software

development, from requirements elicitation to design implementation, and testing.

  • Apply established and innovative service-based software architecture paradigms and

design patterns to software development.

  • Take advantage of the most recent software verification techniques and tools, such as

model checking and various static analysis techniques.

  • Apply the principles of syntactic and semantic analysis in compilers.
  • Distinguish among the various existing models for software processes, both traditional

and agile, and be able to identify, customize, and apply the most suitable depending on circumstances.

  • Work both individually and as a team member in order to develop and deliver software

artifacts of high quality.

  • Develop communication skills, negotiation skills, work ethic and discipline, and leadership.
  • Learn how to support and advance professional and organizational goals.

Key Competences and Practices

The graduates of the Software Engineering Stream will have the following competencies after successful completion of the course of studies.

1. Software development methodologies

2. Software Design Methodologies and Tools

3. Requirements Engineering

4. Systems Specification Techniques

5. TestingMethodologies

6. Software Architecture

7. Design Patterns

8. Compilers Construction

9. Static Analysis

10. Model Checking

11. Concurrency Theory

12. Design-by Contract

13. AgileMethods

14. Programming Paradigms

15. Component-Based Development

16. Service-Based Systems

17. SoftwareMetrics

18. Programming Relational and NoSQL DB

19. User Interface Design

20. Code Quality

21. Analysis

22. Presentation

23. Communication

24. Technical Writing

25. Technical Reading

26. Problem Solving

27. Focus on User or Customer Needs

28. Cost/Benefit Analysis

29. Teamwork

30. Leadership

Structure of the Two Years of Specialization

During the third and fourth years of this stream, the students take a set of core courses for the Software Engineering Stream.

Students also take electives courses in these years, starting from the Spring semester of the third year. While students can choose any electives they want from various available courses, at least one of the three electives must be about a technical subject, and another about soft-skill, humanities, or economics/marketing/finance.


Third Year: SE Stream (Fall Semester):

Course Name Main Area Knowledge Area Teaching Structure
Information Theory CSE IS, GV 2Lc-2Lab-2IL
Software Architecture CSE SE 2Lc-2Lab-2IL
Compilers Construction CSE PL, AL 2Lc-2Lab-2IL
Introduction to Machine Learning CSE IS 2Lc-4IL
Distributed Systems & Cloud Computing CSE PD 2Lc-2Lab-2IL
Philosophy II (Languages and Perceptions) H Ph 2Lc-4IL


Third Year: SE Stream (Spring Semester):

Course Name Main Area Knowledge Area Teaching Structure
Software Systems Design CSE SE 2Lc-2Lab-2IL
Digital Signal Processing CSE CM, EE 2Lc-2Lab-2IL
Game Theory CSE IS, CN, AL 2Lc-2Lab-2IL
Lean Software Development CSE SE, SDF 2Lc-2Lab-2IL
Elective I
Elective II
Elective III


Fourth Year: SE Stream (Fall Semester):

Course Name Main Area Knowledge Area Teaching Structure
Microcontrollers & Embedded Hardware CSE OS, PL 2Lc-2Lab-2IL
Mobile Application Development CSE PL 2Lc-2Lab-2IL
Economics & Finance CSE SP 2Lc-2Lab-2IL
Elective IV
Academic Research and Writing Culture H SP
Thesis IT


Fourth Year: SE Stream (Spring Semester):

Course Name Main Area Knowledge Area Teaching Structure
Software Quality & Reliability CSE SE 2Lc-2Lab-2IL
Elective V
Elective VI
Thesis IT
Life Safety H SP

In addition, one of the electives that students can choose is a Software Engineering project supervised by Innopolis University faculty or Industry, again in the Spring semester of the third year. Finally, students must complete thesis work in the fourth year.


Mapping between knowledge areas and courses in the Software Engineering Stream

Knowledge Courses Portion
Software Engineering Software Systems Design Lean Software Development Software Architectures Software Quality & Reliability 20%
Intelligent Systems Information Theory Introduction to Machine Learning Game Theory 13%
Programming Languages Compilers Construction Microcontrollers & Embedded Hardware 9%
Software Development Fundamentals Lean Software Development Mobile Application Development 9%
Social Issues and Professional Practice Academic Research and Writing Culture Life Safety Economics & Finance 13%
Graphics and Visualization Information Theory 4%
Parallel and Distributed Programming Distributed Systems & Cloud Computing 4%
Electrical Engineering Digital Signal Processing 4%
Operating Systems Microcontrollers & Embedded Hardware 4%
Computational Sciences Game Theory 4%
Philosophy Philosophy 2 (Languages and Perceptions) 4%
Algorithms and Complexity Compilers Construction Game Theory 8%
Communications Digital Signal Processing 4%


DATA SCIENCE STREAM

Specific Educational Goals of the Program

The Data Science Stream is designed for students interested in pursuing careers in data science and analysis. The Data Science Stream consists of courses that provide students with a core background in algorithmic, statistical, and systems expertise with a focus on acquiring, storing, accessing, analyzing, and visualizing large, heterogeneous and real-time data. These data are generally associated with various real-world domains including health, media, energy, and transportation. Students will have a chance to learn the latest ideas and emerging techniques in the field as well as to gain experience with industrial projects. Learning Outcomes: A student completing the Data Science Stream will be able to:

  • Manage and analyze a large volume of data in a scalable fashion.
  • Pick the right tools to manage and analyze a large volume of data.
  • Develop a data analytic tool on an appropriate platform, including a cloud computing

platform.

  • Understand in detail how machine learning works.
  • Apply an appropriate machine learning technique to a real-world problem at hand.
  • Develop a data mining system appropriate for the task at hand.
  • Understand in detail how an information retrieval system works.
  • Develop an information retrieval system appropriate for the task at hand.
  • Collect a large volume of data necessary for data analytics.
  • Understand various database systems, and pick an appropriate database system for

the task at hand.

  • Understand how decision-makers use business analytics to formulate and solve business problems.
  • Understand and apply the appropriate tools for the analysis of quantitative and qualitative data.
  • Use software packages fluently for data analysis.
  • Solve challenging problems in a creative way


Key Competences and Practices

The graduates of the Data Science Stream will have the following competencies after successful completion of the course of studies.


1. Distributed Databases

2. Relational Databases

3. Big Data

4. Database Design

5. Database Systems

6. Data Mining

7. Data Modeling

8. Machine Learning

9. Deep Learning

10. Data, Information, and Knowledge

11. Probability

12. Programming

13. Query Languages

14. Code Quality

15. Analysis

16. Presentation

17. Communication

18. Technical Writing

19. Technical Reading

20. Problem Solving

21. Teamwork

22. Leadership

Structure of the Two Years of Specialization

During the third and fourth years of this stream, the students take a set of core courses (some of which are shared with other streams). They also take electives starting from the second semester (spring semester) of the third year. Details on the electives are presented in Chapter 12. At least one of these electives needs to be technical and one related to soft skills, humanities, or economics/marketing/finance. Note that the students can also choose as an elective to complete a data science project supervised by Innopolis University faculty in the second semester of the third year. Students must do their thesis work in the fourth year.

Third Year: DS Stream (Fall Semester):

Course Name Main Area Knowledge Area Teaching Structure
Information Theory CSE IS, GV 2Lc-2Lab-2IL
Software Architecture CSE SE 2Lc-2Lab-2IL
Introduction to Big Data CSE IS, AL 2Lc-2Lab-2IL
Introduction to Machine Learning CSE IS 2Lc-4IL
Distributed Systems CSE PD 2Lc-2Lab-2IL
Philosophy II (Languages and Perceptions) H Ph 2Lc-4IL
Hum. Elective I

Third Year: DS Stream (Spring Semester):

Course Name Main Area Knowledge Area Teaching Structure
Information Retrieval CSE IS 2Lc-2Lab-2IL
Digital Signal Processing CSE CM, EE 2Lc-2Lab-2IL
Game Theory CSE IS, CN, AL 2Lc-2Lab-2IL
Data Mining CSE IS 2Lc-2Lab-2IL
Elective I
Elective II

Fourth Year: DS Stream (Fall Semester):

Course Name Main Area Knowledge Area Teaching Structure
Numerical Modeling M-CS CN, MP 2Lc-2Lab-2IL
Introduction to Computer Vision CSE IS 2Lc-2Lab-2IL
Academic Research and Writing Culture H SP
Data Mining IT
Thesis I IT
Thesis II
Elective III
Elective IV


Fourth Year: DS Stream (Spring Semester):

Course Name Main Area Knowledge Area Teaching Structure
Practical Machine Learning & Deep Learning CSE IS 2Lc-2Lab-2IL
Statistical Techniques for Data Sceicne M-CS CN 2Lc-2Lab-2IL
Thesis III IT
Thesis IV IT
Life Safety H SP
Hum. Elective II


Mapping between knowledge areas and courses in the DS Stream:

Knowledge Courses Portion
Intelligent Systems Information Theory Introduction to Big Data Introduction to Machine Learning Information Retrieval Data Mining Practical Machine Learning & Data Mining Game Theory Introduction to Computer Vision 40%
Algorithms and Complexity Introduction to Big Data Game Theory Numerical Modeling 16%
Software Engineering Software Architecture 4%
Parallel and Distributed Programming Distributed Systems 4%
Computational Science Statistical Techniques for Data Science Game Theory Numerical Modeling 8%
Social Issues and Professional Practice Academic Research and Writing Culture Life Safety 8%
Graphics and Visualization Information Theory 4%
Electrical Engineering Engineering Digital Signal Processing 4%
Operating Systems Embedded and Shared Memory Programming 4%
Philosophy Philosophy II (Languages and Perceptions) 4%
Communications Digital Signal Processing 4%


ROBOTICS STREAM

Specific Educational Goals of the Program

The primary goal of the Robotics Stream is to provide fundamental knowledge in mechanics, mechatronics, electrical engineering, control theory, and robotics that will allow students to understand the basic principles of robotic systems in particular and technical systems in general. Students will have the opportunity to learn the latest trends and techniques emerging in the field and practice them in industrial-relevant projects. The obtained knowledge and skills will be in demand not only in robotics companies but also in any engineering tasks, project works, R&D centers, and others. The graduates will gain the necessary knowledge to create a new product and start their own business.

Learning Outcomes: A student completing the Robotics Stream will be able to:

  • Model the kinematics of robotic systems.
  • Formulate and compute dynamic equations necessary to control a robotic system.
  • Write code for sensor data processing.
  • Understand the physical principles of sensors and their limitations.
  • Design, implement and document appropriate, effective, and efficient software solutions for a variety of real-world computer vision problems.
  • Apply their knowledge of image acquisition, image processing, and image analysis to

extract useful information from visual images.

  • Build virtual reality applications.
  • Build real-time embedded systems.
  • Understand the characteristics of control systems, including controllability, stability

and regulation quality.

  • Perform time and frequency analysis for control systems including nonlinear control

systems.

  • Solve diverse mechanics problems using various methods such as Newtonian, Lagrangian and Hamiltonian methods.

Key Competences and Practices

The graduates of the Robotics Stream will have the following competencies after successful completion of the course of studies.

1. Robotics


2. Control Programs

3. Control system analysis

4. Mechanical Systems

5. Mathematical Modeling

6. Sensing

7. Perception and Computer Vision

8. Time and Frequency Analysis

9. Optimization

10. Numerical Methods

11. Artificial Intelligence

12. Mechatronics

13. Machine Learning

14. Technical Writing

15. Technical Reading


Structure of the Two Years of Specialization

During the third and fourth year of this stream, the students take a set of core courses (some of which are shared with other streams) and also three electives, one in the second semester of the third year and two in the fourth year, one each semester (details on the electives are presented in Chapter 12), at least one of which needs to be technical and one related to soft skills, humanities, or economics/marketing/finance. Note that the students can also choose as an elective to complete a robotics project supervised by Innopolis University faculty in the second semester of the third year. Students must do their thesis work in the fourth year.


Third Year: Robotics Stream (Fall Semester):

Course Name Main Area Knowledge Area Teaching Structure
Information Theory CSE IS, GV 2Lc-2Lab-2IL
Control Theory CSE CE 2Lc-2Lab-2IL
Introduction to Robotics CSE IS 2Lc-2Lab-2IL
Introduction to Machine Learning CSE IS
Theoretical Mechanics M MP 2Lc-2Lab-2IL
Philosophy II (Languages and Perceptions) H Ph

Third Year: Robotics Stream (Spring Semester):

Course Name Main Area Knowledge Area Teaching Structure
Non-linear Optimization CSE IS 2Lc-2Lab-2IL
Digital Signal Processing CSE CM 2Lc-2Lab-2IL
Robotic Systems CSE IS 2Lc-2Lab-2IL
Sensors & Sensing CSE IS 2Lc-4IL
Mechanics & Machines M MP 2Lc-2Lab-2IL
Elective I
Elective II


: Fourth Year: Robotics Stream (Fall Semester)

Course Name Main Area Knowledge Area Teaching Structure
Microcontrollers & Embedded Hardware CSE OS, PL, EE 2Lc-2Lab-2IL
Numerical Modeling M-CS CN, MP 2Lc-2Lab-2IL
Introduction to Computer Vision CSE IS 2Lc-2Lab-2IL
Elective III
Academic Research and Writing Culture H SP
Thesis IT

Fourth Year: Robotics Stream (Spring Semester):

Course Name Main Area Knowledge Area Teaching Structure
Practical Machine Learning & Deep Learning CSE IS 2Lc-2Lab-2IL
Mechatronics CSE EE, ME 2Lc-2Lab-2IL
Mobile Robotics & Autonomous Driving CSE IS 2Lc-2Lab-2IL
Thesis IT
Life Safety H SP


SECURITY-BLOCKCHAIN STREAM

Specific Educational Goals of the Program

The Security-Blockchain stream is designed for students interested in pursuing careers in information security and blockchain. It mainly consists of courses that provide students with a core background in designing and building secure software systems. The stream also covers distributed ledgers technologies (e.g., cryptocurrencies and blockchain technologies). Learning Outcomes: A student completing the Security-Blockchain stream will be able to:

  • Develop robust and secure code.
  • Reverse engineer software into formats that can be deciphered and analyzed.
  • Explore cyber security and information assurance concepts for secrecy, integrity, and

availability of information.

  • Develop a deeper understanding of blockchain technology and its long-term implications for business, coupled with knowledge of its relationship to other emerging

technologies such as AI.

  • Make better strategic business decisions by drawing on their knowledge of blockchain

and affiliated industries and technologies.

  • Work both individually and as a team member in order to develop and deliver secure

software artifacts of high quality.

  • Develop communication skills, negotiation skills, work ethic and discipline, and leadership.
  • Learn how to support and advance professional and organizational goals.

Key Competences and Practices

The graduates of the Security-Blockchain will have the following competencies after successful completion of the course of studies.

1. Information Security Assurance

2. Security Policies and Laws

3. Software Security

4. Network security

5. Distributed ledgers

6. Finance

7. Economics

8. Distributed programming

9. Algorithms and Complexity

10. Analysis

11. Presentation

12. Communication

13. Technical Writing

14. Technical Reading

15. Problem Solving

16. Teamwork

17. Leadership

18. Professional Ethics

19. Privacy and Civil Liberties

20. Social context


Third Year: SB Stream (Fall Semester):

Course Name Main Area Knowledge Area Teaching Structure
Information Theory CSE IS, GV 2Lc-2Lab-2IL
Fundamentals of Computer Security CSE IAS, SP 2Lc-2Lab-2IL
System and network administration CSE IAS, SP 2Lc-2Lab-2IL
Introduction to Machine Learning CSE IS 2Lc-4IL
Distributed Systems CSE PD 2Lc-2Lab-2IL
Philosophy II (Languages and Perceptions) H Ph 2Lc-4IL

Third Year: SB Stream (Spring Semester):

Course Name Main Area Knowledge Area Teaching Structure
Information Retrieval CSE IS, GV 2Lc-2Lab-2IL
Digital Signal Processing CSE CM, EE 2Lc-2Lab-2IL
Game Theory CSE IS, CN, AL 2Lc-2Lab-2IL
Network and Cyber Security CSE IAS, SP 2Lc-2Lab-2IL
Security-Blockchain project CSE
Elective I
Elective II
Elective III

Fourth Year: SB Stream (Fall Semester):

Course Name Main Area Knowledge Area Teaching Structure
Microcontrollers & Embedded Hardware CSE OS, PL 2Lc-2Lab-2IL
Distributed Ledger Technologies CSE IAS, SP 2Lc-2Lab-2IL
Foundations of Mathematical Economics and Quantitative Finance CSE SP 2Lc-2Lab-2IL
Elective IV
Academic Research and Writing Culture H SP

Fourth Year: SB Stream (Spring Semester):

Course Name Main Area Knowledge Area Teaching Structure
Business Analytics CSE SP 2Lc-2Lab-2IL
Elective V
Elective VI
Life Safety H SP

Structure of the Two Years of Specialization

During the third and fourth year of this stream, the students take a set of core courses -.1 Tables 10.1, 10.2, 10.3, and 10.4 show the list of courses for this stream. These tables also show the main areas and the knowledge areas covered by each course, along with its teaching structure. Students also take electives courses in these years, starting from the second semester (spring semester) of the third year. While students can choose any electives they want from various available courses, at least one of the three electives must be about a technical subject, and another about soft-skill, humanities, or economics/marketing/finance. In addition, students should do electives on a Security-Blockchain project supervised by Innopolis University faculty or Industry in the second semester of the third year. Finally, students must complete thesis work in the fourth year.


Mapping between knowledge areas and courses in the Security-Blockchain stream:

Knowledge Courses Portion
Intelligent Systems Information Theory Introduction to Machine Learning Information Retrieval Game Theory
16%
Information Assurance and Security Principles of computer security System and network administration Distributed Ledger Technologies System and network administration 14%
Social Issues & Professional Practice Fundamentals of computer security System and network administration Distributed Ledger Technologies Academic Research & Writing System and network administration Foundations of Mathematical Economics and Quantitative Finance Business Analytics Life Safety 34%
Graphics and Visualization Information Theory 4%
Programming Languages Microcontrollers & Embedded Hardwar 4%
Parallel and Distributed Programming Distributed Systems 4%
Electrical Engineering Digital Signal Processing 4%
Operating Systems Microcontrollers & Embedded Hardware 4%
Computational Sciences Game Theory 4%
Philosophy Philosophy 2 (Languages and Perceptions) 4%
Algorithms and Complexity Game Theory 4%
Communications Digital Signal Processing 4%


CORE COURSES

The following is the list of the core courses.

1. Introduction to Programming I 28. Compiler Construction
2. Computer Architecture 29. Philosophy II – Language & Perception
3. Discrete Mathematics 30. Introduction to Big Data
4. Mathematical Analysis I 31. Theoretical Mechanics
5. Analytical Geometry & Linear Algebra – I 32. Introduction to Robotics
6. Philosophy I (Logic) 33. Fundamentals of Computer Security
7. Introduction to Programming II 34. System and Network Administration
8. Data Structures and Algorithms 35. Information Retrieval
9. Mathematical Analysis II 36. Digital Signal Processing
10. Analytical Geometry & Linear Algebra – II 37. Data Mining
11. Theoretical Computer Science 38. Game Theory
12. Probability and Statistics 39. Project (SE, DS, AIR)
13. Physics I (mechanics) 40. Software Systems Design
14. Differential Equations 41. Lean Software Development
15. Data Modeling and Databases I 42. Nonlinear Control Theory
16. Operating Systems 43. Robotic Systems
17. Probability and Statistics 44. Sensors and Sensing
18. History 45. Mechanics and Machines
19. Data Modeling and Databases 2 46. Network and Cyber Security
20. Networks 47. Statistical Techniques for Data Science
21. Control Theory 48. Numerical Modelling
22. Introduction to Artificial Intelligence 49. Mathematical Modeling
23. Software Project 50. Introduction to Computer Vision
24. Information Theory 51. Micro controllers and Embedded Hardware
25. Software Architectures 52. Distributed Ledgers Technologies
26. Introduction to Machine Learning 53. Practical Machine Learning and Deep Learning
27. Distributed Systems and Cloud Computing