Cross-platform programming
Description: Discipline is aimed at forming the foundation for understanding the basics of programming on various platforms. A basic representation of cross-platform software is given, cross-platform options are considered at the compilation level and at the execution level, and an overview of the technologies is given.
Amount of credits: 5
Пререквизиты:
- Algorithms, Data Structures and Programming
Course Workload:
Types of classes | hours |
---|---|
Lectures | 15 |
Practical works | |
Laboratory works | 30 |
SAWTG (Student Autonomous Work under Teacher Guidance) | 30 |
SAW (Student autonomous work) | 75 |
Form of final control | Exam |
Final assessment method |
Component: Component by selection
Cycle: Profiling disciplines
Goal
- Изучение современных технологий программирования для различных архитектур и платформ
Objective
- Сформировать системное базовое представление, первичные знания, умения и навыки по основам кроссплатформенного программирования
- Изучить этапы создания приложений в интегрированных средах разработки
Learning outcome: knowledge and understanding
- основные аспекты концепции кроссплатформенного программирования; основы объектно-ориентированного программирования; основы языка Java.
Learning outcome: applying knowledge and understanding
- разрабатывать простейшие программы для работы в различных операционных системах; создавать кроссплатформенные программы на уровне выполнения; создавать программы на кроссплатформенных интерпретируемых языках.
Learning outcome: formation of judgments
- формировать суждения в сфере кроссплаформенного программирования.
Learning outcome: communicative abilities
- Планировать работу в группе при разработке кроссплатформенных решений. Умение работать в группе при разработке одного приложения на различных языка, участниками группы. Развивать коммуникационные способности при разработке кроссплатформенных приложений.
Learning outcome: learning skills or learning abilities
- работы с объектно-ориентированными языками программирования; навыками создания простейших кроссплатформенных приложений.
Teaching methods
1. интерактивная лекция (применение следующих активных форм обучения: ведомая (управляемая) дискуссия или беседа; демонстрация слайдов или учебных фильмов; мозговой штурм; мотивационная речь); 2. информационно-коммуникационная (например, занятия в компьютерном классе с использованием различных операционных систем и профессиональных пакетов прикладных программ); 3. поисково-исследовательская (самостоятельная исследовательская деятельность студентов в процессе обучения).
Assessment of the student's knowledge
Teacher oversees various tasks related to ongoing assessment and determines students' current performance twice during each academic period. Ratings 1 and 2 are formulated based on the outcomes of this ongoing assessment. The student's learning achievements are assessed using a 100-point scale, and the final grades P1 and P2 are calculated as the average of their ongoing performance evaluations. The teacher evaluates the student's work throughout the academic period in alignment with the assignment submission schedule for the discipline. The assessment system may incorporate a mix of written and oral, group and individual formats.
Period | Type of task | Total |
---|---|---|
1 rating | Основы Java. Базовый синтаксис Java. | 0-100 |
Обработка ошибок, исключения, отладка. | ||
Ввод-вывод, доступ к файловой системе. | ||
Объекты, классы и пакеты в Java. | ||
Рубежный контроль 1 | ||
2 rating | Типы данных и алгоритмизация. | 0-100 |
Многопоточность программирование. | ||
Generics, коллекции. | ||
Рубежный контроль 2 | ||
Total control | Exam | 0-100 |
The evaluating policy of learning outcomes by work type
Type of task | 90-100 | 70-89 | 50-69 | 0-49 |
---|---|---|---|---|
Excellent | Good | Satisfactory | Unsatisfactory |
Evaluation form
The student's final grade in the course is calculated on a 100 point grading scale, it includes:
- 40% of the examination result;
- 60% of current control result.
The final grade is calculated by the formula:
FG = 0,6 | MT1+MT2 | +0,4E |
2 |
Where Midterm 1, Midterm 2are digital equivalents of the grades of Midterm 1 and 2;
E is a digital equivalent of the exam grade.
Final alphabetical grade and its equivalent in points:
The letter grading system for students' academic achievements, corresponding to the numerical equivalent on a four-point scale:
Alphabetical grade | Numerical value | Points (%) | Traditional grade |
---|---|---|---|
A | 4.0 | 95-100 | Excellent |
A- | 3.67 | 90-94 | |
B+ | 3.33 | 85-89 | Good |
B | 3.0 | 80-84 | |
B- | 2.67 | 75-79 | |
C+ | 2.33 | 70-74 | |
C | 2.0 | 65-69 | Satisfactory |
C- | 1.67 | 60-64 | |
D+ | 1.33 | 55-59 | |
D | 1.0 | 50-54 | |
FX | 0.5 | 25-49 | Unsatisfactory |
F | 0 | 0-24 |
Topics of lectures
- Вводная лекция: принципы Кроссплатформенного программирования, введение в язык программирования Java
- Основы языка программирования Java
- История развития
- Дефолтные методы
- Итерация в Java
- Работа с памятью
- Объектно-ориентированное программирование
- Модификаторы
- Зависимости класса
- Исключения
- Интерфейсы
- Абстрактные классы
- Сериализация
- Типы данных в Java
- Многопоточность в Java
Key reading
- 3.1.1 Марк, Саммерфилд Qt. Профессиональное программирование. Разработка кроссплатформенных приложений на С++ / Саммерфилд Марк. - М.: Символ-плюс, 2011. - 1603 c. 3.1.2 Гарнаев, Андрей WEB-программирование на Java и JavaScript / Андрей Гарнаев , Сергей Гарнаев. - Москва: СПб. [и др.] : Питер, 2017. - 718 c. 3.1.3 Эккель, Брюс Философия Java / Брюс Эккель. - М.: Питер, 2016. - 809 c. 3.1.4 Савитч, Уолтер Язык Java. Курс программирования / Уолтер Савитч. - М.: Вильямс, 2015. - 928 c.
Further reading
- 3.2.1 Хабибуллин, Ильдар Самоучитель Java / Ильдар Хабибуллин. - М.: БХВПетербург, 2014. - 768 c. 3.2.2 Джошуа, Блох Java. Эффективное программирование / Блох Джошуа. - М.: ЛОРИ, 2014. - 292 c. 3.2.3 Машнин Т. С. Современные Java-технологии на практике. ? СПб.: БХВПетербург, 2010. 560 с. (Профессиональное программирование). - ISBN 978-5-9775-0561-1.