Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика»


Скачать 392 Kb.
Название Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика»
страница 1/7
Тип Программа дисциплины
rykovodstvo.ru > Руководство эксплуатация > Программа дисциплины
  1   2   3   4   5   6   7



Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Информатика и программирование»

для направления 01.03.04 «Прикладная математика» подготовки бакалавров




The Government of The Russian Federation
Federal State Autonomous Educational Institution

of Higher Professional Education
National Research University Higher School of Economics

Moscow Institute of electronics and mathematics

Department of Applied Mathematics

Syllabus for

Computer Science and Programming

for directions 01.03.04. Applied mathematics bachelor


Course Instructors:

Andrey Vnukov, D.-Eng. (module 1), avnukov@hse.ru

Sergey Aksenov, Ph.D. (module 2-4), saksenov@hse.ru


Approved at the meeting of the Department of Applied mathematics "_____" ____________ 2015 year

Head of Department A. V. Belov ________ [signature]

Recommended by Academic Council of educational program

"______" ____________ 2015 year, No. Protocol_________________

Approved "___" ____________ 2015 year

Academic head of the educational program
Manita L. A. _________________ [signed]

Moscow, 2015
This program cannot be used by other divisions of the University and other universities without the permission of the Department-developer of the program.


  1. Scope and normative references

This program of academic discipline establishes minimum requirements for knowledge and skills of the student and determines the content and types of studies and reporting.

The program is designed for teachers, leading this discipline, teaching assistants and students in the areas of training 01.03.04."Applied mathematics", studies the discipline of computer science and programming.

The program is designed in accordance with:

  • The Federal State Educational Standard (FSES) for the degree of bachelor 01.03.04."Applied mathematics", training - bachelor;

  • Educational program 01.03.04."Applied mathematics" bachelor.

  • Working curriculum of the University in the direction 01.03.04."Applied mathematics" bachelor approved in 2015.




  1. Goals of learning

The purpose of learning computer science and programming are:

  • Acquaintance of students with the discipline of the basics and terminology of low-level programming in Assembler language and object-oriented programming;

  • Acquaintance of students with the discipline of the basics and terminology of low-level and object-oriented programming. Understanding the capabilities and features of Assembler language and object-oriented programming languages in designing, developing and debugging computer programs;

  • The use of compatible systems programming. The embed program sections in Assembly language low level program to high level language;

  • Learn basic principles of low-level and object-oriented programming used in the development and implementation of algorithms, creating and debugging computer programs;

  • The formation of practical skills of application development in a programming language Assembler and C++.




  1. Competence of the learner, formed as a result of learning the discipline

As a result of mastering discipline student must:

  • Know paradigm and programming methodology, features of Assembler language and object-oriented programming languages, the most widely used programming tools; concepts, syntactic and semantic organization, methods of using modern object-oriented programming languages; theoretical and methodological foundations to understand the functionality in the area of information systems development;

  • Be able to apply in professional activity the Assembler language and modern object-oriented programming languages; to solve problems professionally manufacturing and technological activity taking into account modern achievements of science and technology, including: the development of algorithmic and software solutions in the field of system and applied programming; development of mathematical, information and simulation models on the subject of the performed research;

  • Possess basic mathematical knowledge and information technologies, to apply them efficiently to solve scientific and technical problems and applied problems associated with the development and use of information technology.

  • To have skills (to gain experience) formulation of mathematical and information at, cottages, development of technical specifications for software design, applications of mathematical methods to the solution of practical problems, describe algorithms, develop code in languages Assembler and C++, software testing, selection and analysis of materials on the same topic, presentation and protection of the results.



As a result of mastering the discipline a student masters the following competences:


competence

Code* in the FSES/ NRU

Descriptors – main features of development (indicators of result achievement)

Forms and methods of training, contributing to the formation and development of competence

Able to solve problems in professional activity on the basis of analysis and synthesis

UC-3**

Selection and analysis of materials on the same topic. Yourself wrote the program on the instructions of the teacher

Lectures, practical classes, independent work, homework

Able to assess the need for resources and plan their use in solving problems in the professional activity

UC-4

Proficient in the development of algorithmic and software solutions using modern technologies of programming

Lectures, practical classes, independent work, homework

Able to work with information: find, evaluate and use information from various sources necessary for the decision of scientific and professional tasks (including on the basis of system approach)

UC-5

Uses modern standard development environment (IDE) while creating and debugging software products

Lectures, practical classes, independent work, homework

Able to conduct research, including problem analysis, setting goals and objectives, the allocation of the object and subject of study, choice of method and research methods, as well as evaluating its quality

UC-6

Understand the stages and steps of software development. Demonstrates knowledge of modern programming languages of low and high level

Lectures, practical classes, independent work, homework

Able to design and develop software components based on modern paradigms, technologies and programming languages

PC-4***

Develops the technical specification for the software component using programming languages of low and high level

Lectures, practical classes, independent work, homework

Able to apply knowledge of the life cycle of modern projects for the development and operation of software systems and tools for the management of projects in the field of Information technology

PC-8

Demonstrates knowledge of modern programming languages

Lectures, practical classes, independent work, homework

Able to use and develop mathematical modeling techniques and apply analytical and scientific application packages

PC-11

Uses modern standard development environment (IDE) while creating and debugging software products

Lectures, practical classes, independent work, homework

* Federal State Educational Standard (FSES)/ National Research University (NRU);

**(UC-3): Universal Competencies - 3

*** (PC-4): professional competence - 1.
Course Description

Computer Science and Programming is a compulsory two-semester course for the second year students studying at FAMC specializing in direction of training Applied Mathematics (01.03.04.)

The course aims to provide insights into low-level programming in assembler and object oriented programming basics focusing on C++ application development. The emphasis of the course is on the practical application of the main object oriented programming concepts (Abstraction, Encapsulation, Inheritance, Polymorphism).

Pre-requisites

The students are supposed to be familiar with basics of algorithms and computer programming in C.
Learning Objectives

The objectives of the Computer Science and Programming course are:

• To acquaint students with low-level and object-oriented programming basics and terminology as well as with capabilities of object-oriented languages;

• To study the language Assembler and object oriented concepts and their implementation in software development;

  • Learn basic principles of low-level and object-oriented programming used in the development and implementation of algorithms, creating and debugging computer programs;

• The formation of practical skills of application development in a programming language Assembler and C++.
Learning Outcomes

As a result of study, the student should be familiar with object-oriented terminology, object-oriented concepts and the ways of their application in software design.

The student should be able to develop software solutions for the variety of problems using object-oriented concepts, C++ libraries and developer tools for Windows programming.

Students should acquire basic skills and knowledge of object-oriented programming and be able to apply them in practice.


  1. Place of discipline in the structure of the educational program

Discipline refers to professional cycle (B. 3) and the block of disciplines providing the basic (General professional) training.
The study of this discipline is based on the following disciplines:

  • Algorithmic and programming (1th year);

  • Computer workshop (1th year);

  • Languages and programming techniques;

  • Workshop on the computer.

For the development of the discipline, students should posses the following knowledge and competencies:

  • To know the basics of programming in language C.

  • Know basic methods and algorithms of processing of information structures, methods of analysis of complexity of algorithms;

The main provisions of the discipline should be used further in the study of the following subjects:

The main provisions of the discipline and mastered the competence (UC -3, UC -4, UC -5, UC -6, PC -4, PC -8, PC -11) should be used for further studying of disciplines:

  • Operating systems and computer networks (3rd year);

  • Numerical methods (3rd year);

  • Mathematical modeling (3rd year);

  • Interdisciplinary coursework (3rd year);

  • Industrial practice (3rd year);

  • Programming for the Internet (Web-programming) (4th year);

  • Simulation modeling (4 year);

  • Numerical methods (4th year);

  • Control theory (4th year);

  • Computer graphics (4th year);

  • Database (data management) (4th year);

  • Basics of Web programming.




  1. Thematic plan of the discipline (Distribution of hours)






Topic

Total hours

Contact hours

Self-study

Lectures

Seminars

Practical Classes



Generation of programming languages

7

2




1

4



The architecture of the microprocessors of the command system of IA-32 and IA-64

22

8




4

10



Programming in Assembler language

26

8




4

16



Introduction to C++ programming.

13

4




1

8



Introduction to STL.

18

6




4

8



User defined data types.

18

6




4

8



Inheritance, virtual functions, polymorphisms

38

12




6

20



Windows programming basics

20

6




4

10



User interphase components

18

6




2

10



Document-View architecture

18

6




2

10



C++ templates

14

4




2

8



Debugging in Visual Studio. Exceptions.

14

4




2

8



Multithread programming with MFC

14

4




2

8



Total:

228

72

0

36

120




  1. Forms of control of knowledge of students




The type of control

control form

2 year

Parameters **

1

2

3

4




Current (week)

homework

1




1

1

The creation of the program in the IDE and the protection of its text, 80 minutes

intermediate

credit




*







The creation of the program in the IDE and the protection of its text, 80 minutes

final

exam










*

The creation of the program in the IDE and the protection of its text, 80 minutes


6.1. Evaluation Criteria knowledge and skills
Homework: The student must demonstrate the ability to transfer data from one positional numeral system to another and to develop a program in Assembly language on a pre-issued to the job of teacher and defend it in the survey on practical lessons. UC-3, UC-4, UC-5, UC-6, PC-4, PC-8, PC-11.

Credit: The student must demonstrate the ability to translate data from one positional number system to another, create computer programs and knowledge of OOP principles within the sections 1 - 3. Competencies: UC-3, UC-4, UC-5, UC-6, PC-4, PC-8, PC-11.

Exam: the Student must demonstrate the ability to create computer programs and knowledge of OOP principles within the sections 1 and 13. Competencies: UC-3, UC-4, UC-5, UC-6, PC-4, PC-8, PC-11.

Homework: the Student must demonstrate the ability to develop a program on a pre-issued to the job of teacher and defend it in the survey.

Credit: the Student must demonstrate the ability to create computer programs in C++ information on topics 4-13. Competencies: UC-3, UC-4, UC-5, UC-6, PC-4, PC-8, PC-11.

Exam: the Student must demonstrate the ability to create computer programmes and knowledge of OOP principles within the 4-13. Competencies: UC-3, UC-4, UC-5, UC-6, PC-4, PC-8, PC-11.
Assessment in all forms of current control are set on a 10-point scale.

The inspection should be carried out in a computer class installed with the IDE.



  1. Content of discipline (Course Plan)





Наименование раздела дисциплины

Содержание раздела

Аудиторная работа

Самостоятельная работа

Литература к разделу



Generation of programming languages

A programming language (program, syntax, semantics). Levels of programming languages (low, intermediate, high). Generation programming languages by the level of abstraction of the specific type of hardware (1 machine, 2 assemblers, 3 procedural, object-oriented, hybrid, domain-specialized, declarative, 4 scripting, descriptive, 5 logical, functional languages). Classification of programming languages depending on the programming paradigm, the degree of abstraction of circuit performance. Common programming languages. The most important programming languages. Pedigree of the most important programming languages and their descendants.

2

10

[1,3]



The architecture of the microprocessors of the command system of IA-32 and IA-64

Structural diagram of a personal computer. The software model of the microprocessor available for programming in the language. The architecture of microprocessors IA-32 (main devices). RISC– and CISC–processors (groups of instruction set). Modified von Neumann architecture. Architecture long command word (VLIW). Registers (General purpose, segment, offset, control and status, debugger, page, flags). The status register processor. Memory structure IA-32. Memory model: Flat Model, Segmented Model, Real-address Mode Model. Common bus (multiplexed, separate, Harvard, super Harvard with the matrix switch). The data transmission channels. The data transfer protocols. Direct access channels to the memory. External device.

The System of instruction set IA-32 (format and a group of instruction set IA-32). Hardware compatibility of the processor architectures of Intel number of "bottom-up" (commands, registers, memory). The emulator commands. Virtual machine.

Compatibility systems programming. The embed program sections in Assembly language in a program in high level language. Description, redundancy and addressing blocks and data.

A group of instruction set. Conditional and unconditional jumps. Cycles. Repeat a string of instruction. Return from CALL. The comparison operation. The mathematical operations. Logical operations. Memory operations. Operations with flags of the processor. Working with BCD numbers.

Principles instruction set of IA-64 (Intel). Comparison instruction set of IA-64 and traditional architectures. The microarchitecture of Intel Itanium 2 processors.

Registers of the x86 architecture.

Instruction set x86-64 architecture. Combining instruction set into groups of instruction set of x86 architecture.

Principles of x86-64 (AMD). Comparison of architectures: x86-64 vs IA-64.

The principle of operation of x86-64. Expansion of registers of the architecture x86-64.

Description of the core representatives of the x86-64 architecture.

Combining instruction set into groups of instruction set architecture x86-64.

Comparison chart Intel and AMD processors 16-, 32-, and 64 - bit architectures. Evolutionary transistor chart showing the architecture. Transistor evolutionary chart "Intel" to compare with the chart "AMD".

8

20

[1-4]



Programming in Assembler language

The classical approach to software development. The computing model supported by the Assembler language. Formulation development program in Assembler language: the known model of hardware to develop a local area computing model. General formulation of the software development in Assembler language: the known set of instruction, hardware, local area computing model algorithm to implement the software.

The General structure of program in Assembly language. The syntax of the assembler. The format of instructions and macros.

Operands (permanent/direct, address moved, an address counter, register, base, index, structural, writing).

Operators (arithmetic, shift, comparison, logical, index, override type override segment naming structure type, making segment component of the address expression, the offset of the expression).

Segmentation directives (standard and simplified).

Data types (immediate, simple, complex). Physical and logical interpretation of data. Directive of the description of data of simple types. Attributes of simple data types. Complex data types (arrays, structures, unions, records).

Tools macro Assembler. The macro assembler in the General scheme of compilation of programs. The Macro Instructions. The syntax for macro definitions (in the beginning of the source text in a separate file in the macro library). The context of macro definitions (actual and formal arguments). The process and the result of the substitution arguments (macro generation and macro expansion). Comments. Macro directives (amendments, modification, repetition of lines). Error messages.

8

20

[4-6]



Introduction to C++ programming.

Namespaces .

Input/Output in С++.

Increment and decrement operations. Pointers and increment/decrement operations.

References.

Memory allocation in C++.

Constants and macros.

5

8

[1,2]



Introduction to STL library


Classes and objects.

Strings and arrays in STL.

STL containers and iterators.

Operations with STL objects.

Type conversation.

10

8

[1,2]



User defined data types.


User defined classes.

Using composition in C++.

Initialization of class members (Default constructor, constructor with parameters).

Destructor.

Copy constructor. Ways of passing an object to a function.

Operator overloading.

Static members. Constant members. Class method overloading.

10

8

[1,4]



Inheritance, virtual functions, polymorphisms


Access specifiers: public, protected, private.

The concept and mechanisms of inheritance.

Inheritance or composition - Pros and Cons.

Virtual functions and polymorphisms.

Pure virtual functions and abstract classes.

Accessing to an object throughout a pointer.

Type casting and objects.

Indirect base classes.

Virtual destructor.

Multiple inheritance.

18

20

[1,2]



Windows programming basics


Function WinMain.

Message loop and message handling.

Smallest Windows application.

Introduction to MFC.

CApp class.

Basic MFC components.

Window classes in MFC.

Basic window messages.

Graphical Device Interphase (GDI).

10

10

[1]



User interphase components

Creating window menus.

Creating window toolbars.

Controls (buttons, textboxes, lists, etc.)

8

10

[1]



Document-View architecture


SDI and MDI concepts.

Using MS Visual Studio to create SDI and MDI applications.

Creating different views for single document.

View notifications.

Serialization.

8

10

[1]



C++ templates


Generic programming basics.

Creating of function templates.

Creating of class templates.

Template parameters.

Inheritance and templates.

6

8

[1,2]



Т Debugging in Visual Studio. Exceptions.

Program tracing in Visual Studio.

ASSERT, VERIFY and TRACE macros.

Exceptions. Throwing and catching of exceptions.

6

8

[1,2]



Multithread programming with MFC


Creating of working threads.

Creating of interphase threads.

Synchronization.

Terminating threads.

6

8

[1]



Total:




108

120





Classes are held in computer class in an interactive form and includes discussions on current tasks and solving problems on the computer.


  1. Educational technology (Methods of Instruction)

Lectures should be held in classrooms provided with computer and projection equipment.

Practical classes should be held in computer classrooms equipped with the necessary software (i.e. programming) and will include discussions on current tasks and solving problems on the computer.

Students are given different types of tasks.

As a basic template for assignments computer practicum is one option.
Option 1.
A1. a) 4302 b) 79h C1h

A2. ; x = –2h, y = 3h, z = 1h, = –Fh; x = 2Eh, y = 7Fh, z = –FBh, = –8h; x,y,z – byte – word

A3. Given a string of four decimal digits. If the remainder of the division of works of the first and second digit to the fourth digit equals the third digit, replace the third digit of the corresponding capital letter ('0' — 'A', '1', 'B', etc.), otherwise — swap ultra numbers.

A4. Given arrays a and B of 16 bytes. If elements with the same numbers differ by 1 (the number sign), these elements in the B array, replace the elements with the opposite sign (element, replacement of which can cause the overflow, replaced by zero). The address of the modified items to write to the Count array C. the number of such elements.
One of the educational technologies applied in this computer workshop is the incorporation of program sections in Assembly language into a program in a high level language. Translators assembler MASM and TASM and compiler Visual C++ 2010 support segmentation when developing programs.

  1   2   3   4   5   6   7

Похожие:

Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» icon Программа дисциплины «Информатика и программирование» для направления...
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» подготовки бакалавров
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» icon Программа дисциплины
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направлений 231300. 62 «Прикладная...
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» icon Рабочая программа дисциплины «Информатика» (по гос «Информатика и программирование»)
Рабочая программа предназначена для преподавания дисциплины «Информатика» студентам очной полной формы обучения по направлению подготовки...
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» icon Программа итогового экзамена по направлению 01. 04. 02 "Прикладная математика и информатика"
Государственный междисциплинарный экзамен по направлению – 01. 04. 02 "Прикладная математика и информатика" включает дисциплины
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» icon Образовательная программа высшего образования «Прикладная математика и информатика»
Государственная итоговая аттестация выпускника по направлению подготовки бакалавров 01. 03. 02 Прикладная математика и информатика...
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» icon Образовательная программа высшего образования «Прикладная математика и информатика»
Государственная итоговая аттестация выпускника по направлению подготовки бакалавров 01. 03. 02 Прикладная математика и информатика...
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» icon Рабочая программа по дисциплине «Системное и прикладное программное...
Рабочая пpогpамма составлена на основе на основании на основании решения кафедры «Вычислительная техника» Ульяновского государственного...
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» icon Программа дисциплины "Управление информационными ресурсами"
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления подготовки для...
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» icon Программа государственного итогового междисциплинарного экзамена...
Программа предназначена для бакалавров четвертого курса направления подготовки 01. 03. 02
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» icon Методические указания к курсовой работе по дисциплине Базы данных...
Дисциплина «Базы данных» для направления 230700. 62 «Прикладная информатика» подготовки бакалавра
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» icon Методические указания содержат задания к лабораторным работам по...
Методические указания предназначены для студентов направления «Прикладная информатика» профиля «Прикладная информатика в экономике»,...
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» icon Правительство Российской Федерации Федеральное государственное автономное...
Дисциплина «Архитектура компьютеров и системное программирование» предназначена для подготовки бакалавров по направлению 01. 03....
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» icon Программа дисциплины Теоретическая и прикладная лексикография для...
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и бакалавров направления подготовки 035800....
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» icon Правительство Российской Федерации Федеральное государственное автономное...
Для направления 010400. 62 «Прикладная математика и информатика» подготовки бакалавров
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» icon Правительство Российской Федерации Федеральное государственное автономное...
Для направления 010500. 62 «Прикладная математика и информатика» подготовки бакалавров
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» icon Правительство Российской Федерации Федеральное государственное автономное...
Для направления 010500. 62 «Прикладная математика и информатика» подготовки бакалавров

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск