Главная
страница 1

описание:

НИУ ВШЭ – Нижний Новгород

Программа дисциплины «Основы информатики и программирования»
для направления 010400.62 – Прикладная математика и информатика
специализация «Программная инженерия» подготовки бакалавра


Правительство Российской Федерации
Нижегородский филиал

Федерального государственного автономного образовательного учреждения высшего профессионального образования
"Национальный исследовательский университет
"Высшая школа экономики"

Факультет бизнес-информатики и прикладной математики

Программа дисциплины

«Архитектура современных ЭВМ

(основы языка ассемблер)»

для направления 231000.62 – Программная инженерия

подготовки бакалавра

Автор программы: профессор Н.И.Кащеев

e-mail: nkasheev@hse.ru

Одобрена на заседании кафедры «Базовая кафедра МЕРА» «___»____________ 2012г.

Зав. кафедрой Н.И.Кащеев
Рекомендована секцией УМС «Прикладная математика и информатика»

«___»____________ 2012г.

Председатель В.А. Калягин
Утверждена УМС НИУ ВШЭ – Нижний Новгород «___»_____________2012 г.

Председатель Н.С. Петрухин

Нижний Новгород, 2012 г.

Настоящая программа не может быть использована другими подразделениями университета и другими вузами без разрешения кафедры-разработчика программы.

Область применения и нормативные ссылки


Настоящая программа учебной дисциплины устанавливает минимальные требования к знаниям и умениям студента и определяет содержание и виды учебных занятий и отчетности.

Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направлений подготовки 231000.62 «Программная инженерия» подготовки бакалавра, изучающих дисциплину «Архитектура современных ЭВМ (основы языка ассемблер)».

Программа разработана в соответствии с образовательным стандартом федерального государственного образовательного автономного учреждения высшего профессионального образования Высшей школы экономики.

Цели освоения дисциплины


Целями освоения данной дисциплины являются как получение теоретических знаний в области архитектуры компьютерных систем, принципов организации ввода/вывода и программирования на машинном уровне, так и приобретение практических навыков программирования на языке Ассемблер.

Компетенции обучающегося, формируемые в результате освоения дисциплины


В результате освоения дисциплины студент должен:

знать архитектуру ЭВМ, понимать программную модель системы

развить «программистское» мышление

овладеть навыками программирования на языке ассемблер и понимать связь с ОС и языками высокого уровня.

уметь разрабатывать, тестировать и использовать низкоуровневые программы;

владеть языком Ассемблер


В результате освоения дисциплины студент осваивает следующие компетенции:

Компетенция

Код по НИУ

Дескрипторы – основные признаки освоения (показатели достижения результата)

Формы и методы обучения, способствующие формированию и развитию компетенции

Владение культурой мышления, способность к обобщению, анализу, восприятию

информации, постановке цели и выбору путей её достижения



ОК–1

Студент демонстрирует свои способности при выполнении заданий учебной дисциплины, во время освоения большого количества новой информации, которую применяет для разработки, отладки и тестирования программного кода

Подготовка к семинарам, участие в публичных дискуссиях коллектива учебной группы, разработка алгоритмов и программного кода

Стремление к саморазвитию, повышению своей квалификации и мастерства

ОК-6

Студент развивает самооценку в ходе публичных дискуссий, повышает свою квалификацию, участвуя в разработке индивидуальных и коллективных проектов

Подготовка к проектным семинарам, участие в публичных дискуссиях коллектива учебной группы, разработка алгоритмов и программного кода

Понимание основных концепций, принципов, теорий и фактов, связанных с

информатикой



ПК-1

Студент демонстрирует понимание основ архитектуры микропроцессорных систем и умение создавать программы на языке Ассемблер

Подготовка к проектным семинарам изачетам, участие в публичных дискуссиях коллектива учебной группы, разработка алгоритмов и программного кода

Знакомство с архитектурой ЭВМ и систем

ПК-9

Студент демонстрирует умение писать программы на уровне ассемблера

Разработка алгоритмов и программного кода для практических и лабораторных заданий.

Навыки использования различных технологий разработки программного обеспечения

ПК-16

Студент демонстрирует умение писать программы и создавать библиотеки , используя макросредства языка ассемблер

Разработка алгоритмов и программного кода для практических и лабораторных заданий.

Умение применять основные методы и инструменты разработки программного

обеспечения



ПК-17

Студент демонстрирует умение писать программы, используя системные средства операционной системы и BIOS

Разработка алгоритмов и программного кода для практических и лабораторных заданий.

Место дисциплины в структуре образовательной программы


Настоящая дисциплина относится к циклу дисциплин информационных технологий, обеспечивающих подготовку бакалавра. Курс «Архитектура современных ЭВМ» является общепрофессиональным из цикла курсов подготовки современного специалиста в области разработки ПО. Курс опирается на следующие курсы из цикла «Общие математические и естественнонаучные дисциплины» - фундаментальный курс «Дискретная математика» - федеральный компонент и «Основы организации данных и алгоритмизация» - вузовский компонент. Курс играет важную роль в развитии понимания будущими специалистами низкоуровневого программирования и функционирования компьютерной системы.

Тематический план учебной дисциплины




Наименование тем

Всего

Лекции


Практические занятия

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

часов




 

Раздел 1. Основы архитектуры современных ЭВМ



1.1

Программная модель микропроцессорных систем и Организация памяти

12

4

2

8

1.2

Команды и адресация. Простейшие программы

16

6

6

8




Раздел 2. Основы программирования на языке ассемблер. Разработка программ на языке ассемблер для MS DOS

2.1

Использование функций прерывания DOS и BIOS

24

4

6

14

2.2

Работа с файлами

18

4

6

8

2.3

Система прерываний. Архитектура контроллера прерываний.

22

6

6

10

2.4

Разработка программ на языке ассемблер

20

6

6

8

2.5

Разработка резидентных программ

48

8

6

34




  

Раздел 3. Разработка программ на языке ассемблер для Windows



3.1

Основы организации Windows.WinAPI

16

4

4

10

3.2

Разработка программ на языке ассемблер под Windows

28

6

6

20

Итого

216

48

48

120



Формы контроля знаний студентов


Тип контроля

Форма контроля

1 год

Параметры

1

2

3




Текущий контроль

Домашнее задание

*







80 минут

Контрольная работа

*

*

*

80 минут на одну контрольную работу.

Промежуточный

Зачёт

*







устная форма, 2 вопроса и 1 задача

Итоговый

Экзамен







*

устная форма 2 вопроса и 1 задача

Критерии оценки знаний, навыков


Текущий контроль осуществляется в виде еженедельных мини-контрольных работ, соответствующих домашнему заданию, контрольных работа на 8 и 16 неделе. Промежуточный контроль - зачёт на 8 неделе, экзамен на последней неделе. Учитываются результаты домашней работы (ДР) и выполнение контрольных заданий (КЗ). Оценка определяется в соответствии с п. 10.

Домашняя и контрольная работы содержат несколько задач. Для каждой из задач студент должен представить решение в электронном виде, включая исходный код и исполняемый файл программы.


Содержание дисциплины


Глава 1. ОСНОВЫ АРХИТЕКТУРЫ СОВРЕМЕННЫХ ЭВМ.

Тема 1.1. Программная модель микропроцессорных систем и Организация памяти.

Развитие компьютерных систем – технология, поколения, перспективы. Обзор основных архитектур ЭВМ. Программная модель микропроцессорной системы. Программно доступные регистры процессора, память, регисты ввода/вывода. Сегментная организация памяти.



Основная литература

Рудаков П.И.Финогенов К.Г. Программируем на языке ассемблера IBM PC, 2-e изд-е., Обнинск., «Принтер», 1997.

Питер Абель Язык ассемблера для IBM PC и программирования,М.,В.шк.,1992

Дополнительная литература

Ю-Чжен Лю, Г.Гибсон Микропроцессоры семейства 8086/8088. Архитектура, программирование и проектирование микропроцессорных систем,М., Р и С.,1987
Тема 1.2. Команды и адресация.Простейшие программы.

Методы адресации. Основные группы команд процессора Intel 8086. Язык ассемблер, мнемоника команд. Получение загрузочного модуля. Разбор примеров простейших программ.



Основная литература

Рудаков П.И.Финогенов К.Г. Программируем на языке ассемблера IBM PC, 2-e изд-е., Обнинск., «Принтер», 1997.

Питер Абель Язык ассемблера для IBM PC и программирования,М.,В.шк.,1992

Дополнительная литература

Л. Скэнлон Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера

Ю-Чжен Лю, Г.Гибсон Микропроцессоры семейства 8086/8088. Архитектура, программирование и проектирование микропроцессорных систем,М., Р и С.,1987
Глава 2. ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ АССЕМБЛЕР. РАЗРАБОТКА ПРОГРАММ НА ЯЗЫКЕ АССЕМБЛЕР ДЛЯ MS DOS.

Тема 2.1. Использование функций прерывания DOS и BIOS.

Обзор функций операционной системы. Программы ввода/вывода. Использование функций прерывания int 21h операционной системы для различных задач. Функции BIOS – обзор и использование.



Основная литература

Рудаков П.И.Финогенов К.Г. Программируем на языке ассемблера IBM PC, 2-e изд-е., Обнинск., «Принтер», 1997.

Питер Абель Язык ассемблера для IBM PC и программирования,М.,В.шк.,1992

Дополнительная литература

Л. Скэнлон Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера

Ю-Чжен Лю, Г.Гибсон Микропроцессоры семейства 8086/8088. Архитектура, программирование и проектирование микропроцессорных систем,М., Р и С.,1987.
Тема 2.2. Работа с файлами.

Работа с файлами в DOS. Дескрипторы, описание функций операционной системы для работы с файлами. Примеры программ.



Основная литература

Рудаков П.И.Финогенов К.Г. Программируем на языке ассемблера IBM PC, 2-e изд-е., Обнинск., «Принтер», 1997.

Питер Абель Язык ассемблера для IBM PC и программирования,М.,В.шк.,1992

Дополнительная литература

Л. Скэнлон Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера
Тема 2.3. Система прерываний. Архитектура контроллера прерываний.

Эволюция системы прерываний. Векторная система прерываний. Чтение и установка вектора прерываний. Контроллер прерываний и его функционирование. Обработчики прерываний.



Основная литература

Рудаков П.И.Финогенов К.Г. Программируем на языке ассемблера IBM PC, 2-e изд-е., Обнинск., «Принтер», 1997.

Питер Абель Язык ассемблера для IBM PC и программирования,М.,В.шк.,1992

Дополнительная литература

Ю-Чжен Лю, Г.Гибсон Микропроцессоры семейства 8086/8088. Архитектура, программирование и проектирование микропроцессорных систем,М., Р и С.,1987.
Тема 2.4. Разработка программ на языке ассемблер

Непосредственный вывод в видеобуфер.Логическая организация текстового видеобуфера. Знакоместо, аттрибуты символа.Строковые команды. Примеры программ вывода непосредственно в видеобуфер. Структуры и записи. Программирование портов, звук. Передфчф параметров из программф на языке С в подпрограмму-функцию на языке ассемблер.



Основная литература

Рудаков П.И.Финогенов К.Г. Программируем на языке ассемблера IBM PC, 2-e изд-е., Обнинск., «Принтер», 1997.

Питер Абель Язык ассемблера для IBM PC и программирования,М.,В.шк.,1992

Дополнительная литература

TURBO ASSEMBLER 3.0 USER’S GUIDE. Borland International, Inc/ 1800 Green Hills Road

Л. Скэнлон Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера
Тема 2.5. Разработка резидентных программ.

Резидентная программа. Способы передачи управления в системный обработчик. Защита от повторной загрузки. Выгрузка резидентной программы.Переключение стека в резидентной программе. Подключение собственного обработчика прерываний до системного, после системного и как до так и после системного. Обработчик прерываний от клавиатуры, кольцевой буфер. Разбор примеров резидентных программ..



Основная литература

Рудаков П.И.Финогенов К.Г. Программируем на языке ассемблера IBM PC, 2-e изд-е., Обнинск., «Принтер», 1997.

Питер Абель Язык ассемблера для IBM PC и программирования,М.,В.шк.,1992

Дополнительная литература

Л. Скэнлон Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера

Глава 3. РАЗРАБОТКА ПРОГРАММ НА ЯЗЫКЕ АССЕМБЛЕР ДЛЯ WINDOWS

Тема 3.1 Основы организации Windows. WinAPI

События, очереди сообщений, ресурсы. Библиотеки динамической загрузки. Интерфейс WinAPI.



Основная литература

Юров В.И. ASSEMBLER, 2-е изд-е, Санкт-Петербург, изд-во Питер, 2004

Пирогов В. Ассемблер для Windows, 3-е изд-е, Санкт-Петербург, БХВ-Петербург, 2005

Дополнительная литература

Л. Скэнлон Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера

Ю-Чжен Лю, Г.Гибсон Микропроцессоры семейства 8086/8088. Архитектура, программирование и проектирование микропроцессорных систем,М., Р и С.,1987

Тема 3.2 Разработка программ на языке ассемблер под Windows

Разработка программ под Windows. Программирование простейшейго консольного приложения.



Основная литература

Рудаков П.И.Финогенов К.Г. Программируем на языке ассемблера IBM PC, 2-e изд-е., Обнинск., «Принтер», 1997.

Питер Абель Язык ассемблера для IBM PC и программирования,М.,В.шк.,1992

Дополнительная литература

Л. Скэнлон Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера

Ю-Чжен Лю, Г.Гибсон Микропроцессоры семейства 8086/8088. Архитектура, программирование и проектирование микропроцессорных систем,М., Р и С.,1987

Образовательные технологии

Методические рекомендации преподавателю


Темы индивидуальных заданий для проведения практических занятий должны отличаться для каждого нового учебного года

Методические указания студентам


Рекомендуется подготовка к каждому занятию по заданиям, озвученным преподавателем на предыдущем занятии.

Для более глубокого усвоения курса предполагается использование студентами дополнительной литературы, работа в библиотеке, поиск информации в сети Интернет


Оценочные средства для текущего контроля и аттестации студента

Тематика заданий текущего контроля


Примеры домашних заданий

  1. Разработать программу на языке ассемблер, реализующую ввод вывод беззнаковых чисел из регистров общего назначения

  2. Разработать программу вывода на экран содержимого PSP программы.

  3. Разработать библиотеку на языке Ассемблер, реализующую построение на экране простейших графических объектов. Библиотека должна вызываться из программ, написанных на языке С.

  4. Написать резидентную программу, осуществляющую программную «русификацию» принтера.

  5. Написать резидентную программу, ведущую журнал открытых, измененных и удаленных файлов. По горячей клавише предусмотреть вывод журнала на экран с возможностью скроллинга.

  6. Разработать программу парсер. Дан текстовый файл найти в нем все e-mail, определить их количество и вывести в отдельный файл.

Вопросы для оценки качества освоения дисциплины


Примерный перечень вопросов к зачету (экзамену) по всему курсу или к каждому промежуточному и итоговому контролю для самопроверки студентов


  1. Программная модель микропроцессорной системы.

  2. Взаимодействие программ на ассемблере с программами на языке С.

  3. Резидентный обработчик прерываний от клавиатуры с подключением

  4. как до, так и после системного.

  5. Работа с видеобуфером.

  6. Взаимодействие прикладных и системных обработчиков прерываний.

  7. Прерывания.

  8. Макрокоманды.

  9. Резидентные программы.

  10. Защита TSR программы от повторной загрузки.

  11. Выгрузка резидентной программы.

  12. Переключение стека в TSR программе.

  13. Контроллер прерываний и его программирование



Примеры заданий промежуточного /итогового контроля


Практические задания к экзамену:
Задача 1. Разработать парсер.

Задача 2. Разработать TSR программу.



Порядок формирования оценок по дисциплине


Контроль знаний студентов включает формы текущего и итогового контроля. Текущий контроль осуществляется в течение трех модулей. В рамках учебного курса предусмотрены различные формы текущего контроля знаний и работы студентов на практических занятиях: домашнее задание (80 минут), 3 контрольных работы каждая по 80 мин. Каждая форма текущего контроля оценивается по 10-балльной шкале, оценка выставляется в рабочую ведомость преподавателя. По результатам текущего контроля организуются индивидуальные консультации в рамках второй половины рабочего дня преподавателя. Зачет является промежуточной формой контроля по окончании первого модуля. Форма итогового контроля – экзамен по окончании третьего модуля. Каждая форма итогового контроля оценивается так же по 10-балльной шкале.

Домашнее задание:

оценка в 10 баллов проставляется в исключительных случаях самостоятельно проведенной работы, результаты которой могут в дальнейшем использоваться в учебном процессе или в исследовательской работе студента;

оценка в 8-9 баллов проставляется при самостоятельно разработанном или удачно адаптированном и отлично представленном исследовании по выбранной тематике;

оценка в 6-7 баллов проставляется при своевременно выполненном и самостоятельно представленном исследовании по выбранной тематике;

оценка в 4-5 баллов проставляется при частичном, несамостоятельном участии в выполнении работ над заданием;

оценка в 2-3 балла проставляется, когда студент не может самостоятельно представить работу или когда работа носит явные признаки заимствований (работу предлагается переделать);

оценка в 1 балл проставляется при наличии каких-либо демонстративных проявлений безграмотности и неэтичного отношения к работе.

Контрольная работа:

высшая оценка в 9 баллов (10 баллов только в исключительных случаях) проставляется при полностью правильных ответах на вопросы и отличном выполнении заданий (правильном решении задачи, четком и исчерпывающем ее представлении);

почти отличная оценка в 8 баллов проставляется при полностью правильных ответах на вопросы и отличном выполнении заданий, но при отсутствии четкого и исчерпывающего представления решаемой задачи;

оценка в 7 баллов проставляется при правильных ответах на вопросы и правильном решении задачи, но при наличии отдельных неточностей в ответах на вопросы;

оценка в 6 баллов проставляется при наличии отдельных неточностей в ответах на вопросы (включая грамматические ошибки) или неточностях в решении задачи непринципиального характера (описки и случайные ошибки);

оценка в 5 баллов проставляется в случаях, когда в ответах на вопросы и в решении задачи имеются неточности и ошибки, свидетельствующие о недостаточном понимании изучаемой дисциплины и требующие дополнительного обращения к учебным материалам;

оценка в 4 балла проставляется при наличии серьезных ошибок в ответах на вопросы и в решении задачи, что свидетельствует о наличии пробелов в знании изучаемой дисциплины;

оценка в 3 балла проставляется при наличии лишь отдельных положительных моментов в ответах на вопросы и в решении задач, говорящих лишь о потенциальной возможности в последующем более успешного выполнения заданий; оценка в 3 балла, как правило, ведет к повторному решению дополнительной задачи;

оценка в 2 балла проставляется при полном отсутствии положительных моментов в ответах на вопросы и в решении задачи и, как правило, ведет к повторному написанию контрольной работы в целом;

оценка в 1 балл проставляется в тех случаях, когда наряду с неправильными ответами на вопросы и решением задачи имеют место какие-либо демонстративные проявления безграмотности или неэтичное отношение к изучаемой дисциплине.



Зачет или экзамен:

На зачете (экзамене), представляющем собой письменные ответы на вопросы и решение задачи с последующим собеседованием, оценка проставляется следующим образом:

высшая оценка в 9 баллов (10 баллов только в исключительных случаях) проставляется при отличном выполнении заданий (полных, с примерами и возможными обобщениями ответах на вопросы, при правильном решении задачи и детальном ее представлении);

почти отличная оценка в 8 баллов проставляется при полностью правильных ответах на вопросы и решении задачи, но при отсутствии примеров и обобщений, а также детального представления решаемой задачи;

оценка в 7 баллов проставляется при правильных ответах на вопросы и правильном решении задачи, но при отсутствии пояснений и обобщений, а также детального представления решаемой задачи;

оценка в 6 баллов проставляется при наличии отдельных неточностей в ответах на вопросы или неточностях в решении задачи непринципиального характера (описки и случайные ошибки);

оценка в 4-5 баллов проставляется в случаях, когда в ответах на вопросы и в решении задачи имеются существенные неточности и ошибки, свидетельствующие о недостаточном понимании изучаемой дисциплины;

оценка в 2-3 балла проставляется при наличии лишь отдельных положительных моментов в ответах на вопросы и в решении задачи;

оценка в 1 балл проставляется в тех случаях, когда наряду с неправильными ответами на вопросы и решением задачи имеют место какие-либо демонстративные проявления безграмотности или неэтичное отношение к изучаемой дисциплине.

По результатам устного собеседования с преподавателем возможны корректировки оценки в ту или иную сторону.


Вначале формируется промежуточная оценка.

Опромежуточная = 0,5* Озачет + 0,5* Онакопленная1

Накопленная оценка за текущий контроль первого периода учитывает результаты студента по текущему контролю следующим образом:

Онакопленная1 = 0,5* Од/з +0,5*Ок/р1

Способ округления накопленной оценки промежуточного контроля в форме зачета - арифметический.

Далее формируется накопленная оценка второго периода Онакопленная2

Онакопленная2 = 0,5*·Ок/р2 + 0,5*Ок/р3
Результирующая оценка за дисциплину рассчитывается следующим образом:

Онакопленная Итоговая =промежуточная + Онакопленная2):2



Орезульт = 0,6*Онакопленная Итоговая + 0,4*Оитоговый экзамен

В диплом выставляет результирующая оценка по учебной дисциплине.

Способ округления результирующей оценки по учебной дисциплине – арифметический.

Учебно-методическое и информационное обеспечение дисциплины


Основная литература:


  1. Юров В.И. Assembler: Учебник для вузов. 2-е изд. Издательство: Питер, 2010

  2. Питер Абель, Ассемблер. Язык и программирование для IBM PC

Издательства: Век +, Энтроп, Корона-Век, 2009 г.
Дополнительная литература:

  1. Randall Hide, Art Of Assembly http://www.freebookcentre.net/programming-books-download/The-Art-of-Assembly-Language-Programming-(Randall-Hyde)PDF.html

  2. Пирогов В. Ассемблер для Windows, 3-е изд-е, Санкт-Петербург, БХВ-Петербург, 2005

  3. Финогенов К.Г. Использование языка Ассемблера. Учебное пособие. Издательство: Горячая Линия - Телеком, 2004г.



Материально-техническое обеспечение дисциплины


Мультимедийное оборудование – ноутбук, экран, проектор.

Используется ПО в компьютерном классе НИИТ. В НИУ ВШЭ – Нижний Новгород студентам предоставляется возможность самостоятельной работы с электронными ресурсами информации, периодической литературой.



В компьютерном классе (НИИТ) доступ on-line
Автор программы, профессор Кащеев Н.И.


Смотрите также:
Программа дисциплины «Основы информатики и программирования»
191.12kb.
1 стр.
Программа дисциплины "технология программирования" Рекомендуется Министерством образования РФ для направления подготовки
141.75kb.
1 стр.
Учебно-методический комплекс по дисциплине «Высокоуровневые методы информатики и программирования» длястудентов специальности 080801 «Прикладная информатика в экономике»
549.35kb.
3 стр.
Программа курса (Syllabus) по дисциплине «технологии программирования»
425.18kb.
3 стр.
Рабочая учебная программа дисциплины «основы высшей математики, статистики и информатики» для специальности 060108
198.02kb.
1 стр.
Основы правовой информатики (юридические и математические вопросы информатики)
3027.48kb.
33 стр.
Рабочей программы дисциплины Лингвистические основы информатики Место дисциплины в структуре ооп
14.27kb.
1 стр.
Программа вступительных испытаний по дисциплине «Основы информационных технологий»
98.72kb.
1 стр.
Комплект контрольно-оценочных средств учебной дисциплины
117.04kb.
1 стр.
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина
1891.3kb.
31 стр.
Программа по дисциплине параллельное программирование астрахов А. В. Для очной формы обучения всего 80
62.53kb.
1 стр.
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина
1989.26kb.
13 стр.