Structure of the BS Degrees
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 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 |