Қосымша:
1.
Ершов Ю., Палютин Е. Математическая логика. – М.: Наука, 1979–320 с.
2.
Мальцев А.И. Алгоритмы и рекурсивные функции.–M.: Наука, 1965. –
391 с.
3.
Ахо А. Построение и анализ вычислительных алгоритмов. –Mир, 1979. –
536 с.
4.
Ахо А., Хопкрофт Д., Ульман Д. Структуры данных и алгоритмы –
Вильямс, 2009. – 400 с.
5.
G.E. Karniadakis, R.M. Kirby Parallel Scientific Computing in C++ and MPI
Cambridge University Press, 200
32
BTT 1205 БАҒДАРЛАМАЛАУ ТІЛДЕРІ ЖӘНЕ
ТЕХНОЛОГИЯЛАРЫ
көлемі 3 кредит
Авторлар:
физика-математика ғылымдарының кандидаты, доцент Урмашев Б.А.
оқытушы Сакыпбекова М.Ж.
Пікір жазғандар:
техника ғылымдарының кандидаты, Халықаралық ІТ университеті ақпарат-
тық жүйелер кафедрасының ассистент профессоры Сатыбалдиева Р.Ж.
PhD докторы, доцент, әл-Фараби атындағы ҚазҰУ-нің математикалық және
компьютерлік пішіндеу кафедрасының меңгерушісі Жакебаев Д.Б.
ТҮСІНІКТЕМЕ ХАТ
Пәннің тағайындалуы: пән заманауи программалау тілдері жайлы
студенттердің жүйелі білімін программалау үшін, программалық қамтаманы
құрудың әдістері мен құралдарына, программалаудың келешегі бар
технологиясына арналған.
Берілген пәнді игеру нәтижесінде студент:
- программалау тілінің негізгі элементтері: мәліметтер типтері,
операторларды;
- функцияның кітапханасының мүмкіндіктері, абстрактылы және
пайдаланушы типтерді, құрылымды, функцияларды құру әдістерін;
- программалау технологияларының дамуындағы тенденциялары мен
перспективалық бағыттарын
білу керек;
-
жүйелі талдау, жобалау, кодтау түзету және тестілеу, құжаттауды
орындау және программалық өнімді шығара
алу керек;
-
программалау технологияларының дамуындағы тенденциялары мен
перспективалық бағыттарына;
-
кодты оңтайландыру әдістері туралы
түсінік бере алу керек;
-
программалау тілдерінде алгоритмді және мәліметтер құрылымын
жүзеге асыруда;
-
программаға тестілеу және түзету жүргізуде
білікті болуы керек.
Пәннің мәні мен рөлі: берілген пән бакалавр пәні болып табылады
және программалау технологиясына арналған пәндердің тақырыптарын
дамытады.
Берілген
пәнді
игеру
үшін
алдыңғы
пән:
Ақпараттық-
33
коммуникациялық технологиялар. Математикалық талдау. Аналитикалық
геометрия және алгебра.
Оқытылатын пәнді игеру үшін қажетті дағдылар мен
икемділіктен, білімнен тұратын пән: Ақпараттық-коммуникациялық
технологиялар. Математикалық талдау. Аналитикалық геометрия және
алгебра.
ПӘННІҢ ТАҚЫРЫПТЫҚ ЖОСПАРЫ
№
Тақырыптар атаулары
1.
Программалау тілдерінің жалпы сипаттамасы.
2.
Программалау тілдерінің негізгі түсініктері.
3.
Заманауи прогаммалау тілдерінің базалық конструкциялары.
4.
Функциялар және әдістері.
5.
Мәліметтер құрылымы.
6.
Мәліметтерді тиімді сақтау және өңдеу әдістері.
7.
Программалық қамтаманы жобалау.
8.
Процедуралық,
логикалық, функционалдық және объектіге-
бағытталған программалау.
9.
Программалау технологиялары және құрал-саймандар құралдары
10.
Объектіге-бағытталған программалаудың әдістемесі (І).
11.
Объектіге-бағытталған программалаудың әдістемесі (ІІ).
12.
Пайдаланушы интерфейсі.
13.
Программалық қамтаманы тестілеу және верификация
ПӘННІҢ МАЗМҰНЫ
Кіріспе
Пәнді оқытудың мақсаты: программаларды құрудың негізгі
принциптерін заманауи программалау тілдерінің көмегімен ұсыну, негізгі
көпфункционалды қосымшаларды құру әдістеріне үйрету, заманауи
программалау технологияларының дамуына түсініктеме беру.
Пәнді оқытудың міндеттері:
тілдердің заманауи жағдайы мен перспективті дамуы және
программалау технологиялары туралы түсінік беру;
заманауи прогаммалау әдістемесінің ерекшеліктерін жеткізу;
программалық
қосымшаларды
жобалау
принциптерімен,
модельдерімен және әдістерімен таныстыру;
көпфункционалды қосымшаларды тиімді құруға септігін тигізетін
алгоритмдер мен тәсілдерге түсінік беру;
программалау құралдарын қолдану мен жобалауға дағдыландыру;
Берілген пәнді оқытудың объектілері деп – мәліметтер типтерін,
айнымалыларды, функцияларды, класстарды және объектілерді айтады.
Берілген пәнді оқытудың әдістері: аналитикалық, практикалық,
34
диалектикалық, ғылыми-зерттеу және т.б.
Бұл пәннің басқа ғылымдардың арасындағы ғылымдағы ролі мен
орны: бұл пән ғылым ретінде программалау технологиясы мен тілдерін
оқытады. Берілген пән компьютерлік ғылым ретінде заманауи программалау
тілдерінің құралдарын қолданумен көпфункционалды программалық
қосымшаларды құру және жобалау үдерісін анықтайды.
Осы пәннің аясында алынған білім, маманға программалық қосымшаны
құруда және енгізуде біліктілік танытуға мүмкіндік береді.
НЕГІЗГІ БӨЛІМ
Программалау тілдерінің жалпы мінездемесі
Программалау сапасын қамтамасыз ететін негізгі принциптер.
Программалау тілдерін қолдану аумақтары. Программалау тілдерінің
құрылымды даму концепциясы. Алгоритмдеудің негіздері. Жоғары деңгейлі
тілдерде алгоритмды жүзеге асырады.
Программалау тілдерінің жалпы сипаттамасы
Мәліметтер типтері. Мәліметтер күрделі және құрама типтері.
Мәліметтердің объектілерін жариялау. Программалаудың негізгі
құрылымын және оларды жүзеге асыру әдістерін ұсыну.
Заманауи программалау тілдерінің базалық конструкциялары
Сызықты және тармақталған алгоритмдерді программалау. Циклдік
және құрама алгоритмдерді программалау.
Функциялар және әдістері
Тапсырма тәсілдері. Сипаттау. Параметрлерді жіберу. Шақыру тәсілдері.
Рекурсия. Рекурсивті функцияларды қолдану.
Мәліметтер құрылымы
Массивтер. Жолдар. Көпмүше.
Мәліметтерді тиімді сақтау және өңдеу тәсілдері
Сыртқы объектілер мен мәліметтерді алмасу технологиялары. Файлдар,
мәліметтер базасы. Мәліметтердің файлдарын қолдау жүйесі.
Программалық қамтаманы жобалау
Программалық қамтаманың өмірлік циклы. Программалық қамтаманы
жобалаудың негізгі кезеңдері. Программалық қамтаманың архитектурасы.
Жобалау шаблондары. Программаларды құрастыру тәсілдері. Программаның
дұрыстығын дәлелдеу негіздері.
35
Процедуралық, логикалық, функционалдық және объектіге-
бағытталған программалау
Программалаудың
парадигмасы.
Негізгі
айырмашылықтар,
артықшылықтар, кемшіліктер, даму перспективалары.
Программалаудың
технологиялары
мен
құрал-саймандар
құралдары
Программалау технологиялары және негізгі ұғымдары мен тәсілдері.
Программалаудың біріктірілген ортасында жұмыс істеу.
Объектіге-бағытталған программалаудың әдістемесі (I)
Объектіге-бағытталған программалаудың базалық түсініктері (ОБП).
Класстар мен объектілер. Мәліметтер және әдістер (функция, процедура)
спецификасы.
Объектіге-бағытталған программалаудың әдістемесі (IІ)
Инкапсуляция. Полиморфизм. Мұрагерлік. Объектіге-бағытталған
программалаудың технологиясы. Программалық қамтаманы құру үшін ОБП-
нің аспаптық ортасы. Визуалды жобалау. Қасиеттер. Оқиғалар.
Пайдаланушы интерфейсі
Прораммалық қамтама жұмысының сұхбат режимін ұйымдастыру.
Достық пайдаланушы интерфейсін жобалаудың негізгі принциптері.
«Пайдаланушы-программалық қамтама» сұхбаттық режимдерін құру
құрылымы. Көптерезелі интерфейс. Графикалық пакеттерді қолдану.
Программалық
қамтаманы
тестілеу
және
верификация.
Компиляция
Программалық қамтаманың верификациясы. Программалық қамтаманы
тестілеудің әдістері мен принциптері. Тестілеу жоспары.
СЕМИНАРЛЫҚ ЖӘНЕ ЗЕРТХАНАЛЫҚ САБАҚТАРҒА
ҰСЫНЫЛАТЫН ТАҚЫРЫПТАР ҮЛГІСІ
1.
Арифметикалық және логикалық өрнектерді есептеу.
2.
Шартты операторлар.
3.
Циклдер.
4.
Бірөлшемді және екіөлшемді массивтер.
5.
Нұсқауыштар, сілтемелер.
6.
Динамикалық массивтер.
7.
Символдар және жолдар.
8.
Құрылымдар мен біріктірулер.
9.
Файлдарды қолдану.
10.
Функциялар, әдістері мен ішкі программалар.
11.
Рекурсивті функциялар.
36
12.
Класстар мен объектілер.
13.
Класстарды мұрагерлеу.
14.
Бір бағытты тізімдер.
15.
Екі бағытты тізімдер.
СӨЖ-НА АРНАЛҒАН ҰСЫНЫЛАТЫН ТАҚЫРЫПТАР ҮЛГІСІ
1.
Жолдарды манипуляциялау, іздеу және ұсыну.
2.
Теңдеулер жүйесін шешуде массивтерді қолдану.
3.
Рекурренттік қатынасты есептеу.
4.
Рекурсивті функцияларды іске асыру.
5.
Стектер мен кезектерді ұйымдастыру.
6.
Хэш-таблицалар.
7.
Қиылыспайтын жиындар үшін деректер құрылым.
8.
Топологиялық сұрыптау.
9.
«Бөл және басқар» алгоритмі.
10. Динамикалық программалау алгоритмдері.
11. Іздеудің бинарлы ағаштары.
12. Қызыл-қара алгоритмдер.
13. Ықтималдық талдау және рандомизирленген алгоритм.
14. Үлкен сандармен жұмыс.
15. Жоғары деңгейлі тілдердің графикалық кітапханасымен жұмыс.
ҰСЫНЫЛАТЫН ӘДЕБИЕТТЕР ТІЗІМІ
Негізгі:
1.
Бөрібаев Б.Б. С/С++ тілдерінде программалау. Оқулық. - Алматы:
Издательский центр Ассоциации вузов РК. 2013.
2.
Бөрібаев Б.Б. Программалау технологиялары. Оқулық. - Алматы:
Издательский центр Ассоциации вузов РК. 2011.
3.
Громов Ю.Ю., Иванова О.Г., Беляев М.П., Минин Ю.В. Технология
программирования: учебное пособие / – Тамбов: Изд-во ФГБОУ ВПО
«ТГТУ», 2013. – 172 с.
4.
Подбельский В.В., Фомин С.С. Программирования на языке Си. –
Финансы и статистика, 2005. – 600 с.
5.
T. Cormen, C. Leiserson, R. Rivest, C. Stein. Algorithms: construction and
analysis. Williams, 2011.
6.
Голощапов А.Л. Microsoft Visual Studio 2010. – СПб.: БХВ-Петербург,
2011.- 531 с.
7.
Пыркова А.Ю. Введение в Java программирование. – Учебное пособие. –
Алматы: «Қазақ университеті», 2006. – 100 с.
8.
Хэзфилд Р. Искусство программирования на C. Фундаментальные
алгоритмы, структуры данных и примеры приложений: энциклопедия
программиста. – Киев: ДиаСофт, 2001. – 728 с.
9.
Шилдт Г. Теория и практика С++. – СПб.: БХВ- Петербург, 2001.
37
Қосымша:
1.
Бөрібаев Б.Б., Махметова А.М. Алгоритмдеу және программалау тілдері.
Алматы: Издательский центр Ассоциации вузов РК. 2011.
2.
Шилдт Г. Искусство программирования на C++. – СПб.: БХВ-
Петербург, 2005.
3.
Дейтел Харви М. Технологии программирования на Java 2: Книга 1.
Графика, JavaBeans, интерфейс пользователя.– М.: БИНОМ, 2003.– 560
с.
4.
Пахомов Б.И. C/C++ и MS Visual C++ 2010 для начинающих. – СПб.:
БХВ-Петербург, 2011. – 722 с.
38
ОZh 2206 ОПЕРАЦИЯЛЫҚ ЖҮЙЕЛЕР
көлемі 2 кредит
Автор:
физика-математика ғылымдарының кандидаты, доцент Мансурова М.Е.
Пікір жазғандар:
техника ғылымдарының кандидаты, Халықаралық ақпараттық
технологиялар университетінің ақпараттық жүйелер кафедрасының
қауымдастырылған профессоры Сатыбалдиева Р. Ж.
физика-математика ғылымдарының кандидаты, Қазақстан-Британ
Техникалық университеттінің электротехника және компьютер ғылымдары
кафедрасының қауымдастырылған профессоры Уалиева И. М.
ТҮСІНДІРМЕ ХАТ
Пәннің мақсаты қазіргі заманғы операциялық жүйелерді кәсіби салада
қолдану дағдыларын меңгерген жоғары білікті мамандарды дайындау болып
табылады. Операциялық жүйелер компьютер қолданушылары бірлесіп
қолданатын аппараттық құрылғылардың абстракциясын береді және
ресурстарын басқарады. Бұл пәннің тақырыптарында операциялық жүйенің
компьютерлік жүйе мен желілердің аппараттық бөлігімен өзара әрекетіне
қатысты негізгі білімдері ашылады, ядро және қолданушы режимдеріндегі
жұмысы сипатталады, сондай-ақ операциялық жүйелерді жобалаудың және
жасаудың негізгі тәсілдері келтіріледі.
Берілген пәнді оқу нәтижесінде студент:
-
операциялық
жүйелерді
жобалаудың
негізгі
принциптерін;
операциялық жүйелердің мақсатын, қызметін, классификацияларын;
операциялық жүйенің есептеуіш ресурстарын басқару принциптерін;
мультипрограммалау, процесстер және ағымдар концепциясын; операциялық
жүйенің виртуализация және ұтқырлық принциптерін білуі тиіс;
-
процесстер мен ағымдарды жоспарлау және синхронизациялаудың
негізгі алгоритмдерін жүзеге асыра; жадыны басқара; дискілік жоспарлай;
көпағымды қосымшаларды өңдей; нақты операциялық жүйелерде
жұмыстардың ерекшелігін ескере; операциялық жүйелердің аспаптық
құралдарын қолдана алуы тиіс;
-
операциялық
жүйені
орнату;
есеп
жазбаларын
басқару;
қолданушының жұмыс ортасының параметрлерін баптау; аппараттық
құралдарды конфигурациялау; дисктер мен файлдық жүйелерді басқару;
желілік параметрлерді баптау дағдыларын меңгеруі тиіс.
Пәннің рөлі мен маңызы: бұл пәнді оқу студенттерге заманауи
ақпараттық технологияны қолдануға байланысты оқу пәнінің материалдарын
39
дұрыс меңгеруге және әртүрлі операциялық орталарда практикалық жұмыс
сәтті болуы үшін қажетті операциялық жүйелер аумағындағы базалық білімді
алуға мүмкіндік береді.
Бұл
пәнді
меңгерудегі
алдыңғы
пәндер:
Ақпараттық-
коммуникациялық технологиялар. Алгоритмдер және деректер құрылымы.
Тілдер және бағдарламалау технологиялары.
Бұл пәнді игеру үшін қажетті дағды, білім және икемділіктерден
тұратын пәндер: Ақпараттық-коммуникациялық технологиялар.
ПӘННІҢ ТАҚЫРЫПТЫҚ ЖОСПАРЫ
№
Тақырыптар атауы
1.
Операциялық жүйелерге кіріспе. Компьютердің аппараттық қамтамасына
шолу.
2.
Процесстерді басқару.
3.
Өзара шығару және синхронизация.
4.
Жадыны басқару.
5.
Енгізу-шығаруды басқару.
6.
Файлдық жүйелер.
7.
Қауіпсіздікті басқару.
8.
Виртуалды машиналар.
9.
Үлестірілген жүйелер.
10.
Нақты мысалдарды меңгеру: Windows операциялық жүйесі; Linux
оперциялық жүйесі.
ПӘННІҢ МАЗМҰНЫ
Кіріспе
Пәнді оқытудың мақсаты: операциялық жүйелердің концепцияларын,
операциялық жүйелерді құру мен жобалаудың негізгі принциптерін меңгеру.
Пәнді оқытудың міндеттері:
-
қазіргі заманғы операциялық жүйелердің міндеттері, қызметі және
классификациялары туралы түсінік беру;
-
қазіргі заманғы операциялық жүйелер механизмі, абстракциясы
және негізгі ұғымдар туралы түсінік беру;
-
қазіргі заманғы операциялық жүйелермен жұмыс жасауға
практикалық дағдыландыру;
-
Операциялық жүйелерді құрудың және жобалаудың қазіргі заманғы
тенденцияларымен таныстыру.
Берілген пәнді игерудің объектісі болып операциялық жүйелердің
қауіпсіздігімен қамтамасыз ету құралдары, файлдық жүйелер, ресурстарды
басқару механизмі, ағымдар мен процестер моделдері, операциялық жүйелер
компоненттері жатады.
40
Берілген пәнді игерудің әдістері: аналитикалық; практикалық;
диалектикалық; ғылыми-зерттеу және тағы басқа.
Берілген пән ғылымының басқа ғылым ортасындағы орны мен рөлі:
берілген пән ғылым ретінде заманауи операциялық жүйелердің маңызды
ерекшеліктері мен жобалаудың іргелі принциптерін қарастырады. Бұл пән
операциялық жүйе механизмі мен құрылымы туралы, сонымен қатар оларды
жасау кезіндегі қолданылатын конструктивті шешімдер мен маңызды
келісімдер туралы нақты түсінік береді. Берілген пән шеңберіндегі игерілген
білім маманға заманауи операциялық орталардағы программалау,
ресурстармен басқару және деректерді өңдеуді автоматизациялау есептерін
шешу үшін қолдануға мүмкіндік береді.
НЕГІЗГІ БӨЛІМ
Оперциялық жүйелерге кіріспе. Компьютердің аппараттық
қамтамасына шолу
Операциялық жүйенің рөлі мен міндеті. Қарапайым операциялық
жүйенің функционалды мүмкіндіктері. Жобалау сұрақтары: тиімділік,
сенімділік, иілгіштік, төзу қабілеттілігі, қауіпсіздік, үйлесімділік.
Программалық/аппараттық
қамтаманың
эволюциясы.
Құрылғыларды
ұйымдастыру. Үзілістік: әдістері мен жүзеге асырылуы.
Процестерді басқару
Процестер моделі мен күйі. Көпміндетті жүйелер. Ағымдарды басқару.
Ағымдар моделі мен күйі. Бір процессорлы жүйелерде процестерді жобалау.
Ығыстыратын және ығыстырмайтын жоспарлау. Жоспарлаушылар және
жоспарлау стратегиялары.
Өзара шығару және синхронизация
Процестер мен ағымдардың өзара әрекеті және синхронизациясы.
Параллельді асинхронды процестер және процесс аралық өзара әрекет. Өзара
шығару.
Семафорлар.
Мониторлар.
Өзара
тосқауылдар.
Өзара
тосқауылдарды анықтау, жою, тоқтату, болдырмау.
Жадыны басқару
Физикалық жадыға және жадыны басқарудың аппараттық қамтамасына
шолу. Кэштеу. Виртуалды жады. Виртуалды адрестерді физикалық адреске
түрлендіру. Виртуалды беттерді ауыстыру алгоритмдері.
Енгізу-шығаруды басқару
Тізбекті және параллельді құрылғылар сипаттамалары. Буферлеу
стратегиясы. Жадыға тікелей қолжетімділік. Істен шығулардан кейін қалпына
келтіру. Дискілік жоспарлау. RAID- массивтер.
41
Файлдық жүйелер
Файлдар: ақпараттар, мета ақпараттар, операциялар, ұйымдастыру,
буферлеу. Каталогтар мазмұны мен құрылымы. Файлдық жүйені монтаждау
және бұзу. Виртуалды файлдық жүйелер. Атау, іздеу, қолжетімділік, резервті
көшірме.
Қауіпсіздікті басқару. Аутентификация. Қолжетімділікті бақылау.
Рұқсат етілмеген кірулерді анықтау. Зиянды бағадарламалық қамтамалардан
қорғау. Буфердің толтыратын шабуылдарымен күрес.
Виртуалды машиналар
Виртуалды
машина
типтері.
Гипервизорлар.
Программалық
виртуалдау. Аппараттық виртуалдау. Операциялық жүйелер деңгейінде
виртуалдау. Виртуалдау құны.
Үлестірілген жүйелер
Үлестірілген операциялық жүйелер. Үлестірілген файлдық жүйелер.
Процедураны алыстан шақыру. Үлестірілген синхронизация.
Нақты мысалдарды меңгеру: Windows операциялық жүйесі; Linux
операциялық жүйесі
Операциялық жүйені жобалау принциптері. Жүйелік компоненттер.
Жадыны басқару. Процессорды жоспарлау. Файлдық жүйелер.
СЕМИНАР ЖӘНЕ ЗЕРТХАНАЛЫҚ ЖҰМЫСТАРҒА
ҰСЫНЫЛАТЫН ТАҚЫРЫПТАР ҮЛГІСІ
1.
Аппараттық қамтаманың конфигурациясы мен сипаттамаларын меңгеру.
2.
Процесстерді жоспарлау алгоритмдерін жүзеге асыру.
3.
Ағымдарды жүзеге асыру.
4.
Көп ағымды қосымшаларды құру.
5.
Семафорлар және мониторларды жүзеге асыру.
6.
Өзара блокталуды тоқтату алгоритмдерін жүзеге асыру.
7.
Виртуалды беттерді ауыстыру алгоритмдерін жүзеге асыру.
8.
Дисктік жобалау алгоритмдерін жүзеге асыру.
9.
Windows/Linux операциялық жүйесін орнату.
10. Қолданушы профилін құру және конфигурациясын беру.
11. Windows/Linux операциялық жүйелер қызметінің негізгі принциптері.
12. Қолданушылар мен группаларды басқару.
13. Windows/Linux операциялық жүйелерінің процестерін басқару.
14. Windows/Linux операциялық жүйелерінің файлдарын басқару.
15. Істен шығу және тоқтау кезінде операциялық жүйелерді тексеру және
қалпына келтіру.
42
СТУДЕНТТІҢ ӨЗІНДІК ЖҰМЫСТАРЫНА ҰСЫНЫЛАТЫН
ТАПСЫРМАЛМАР ТАҚЫРЫПТАРЫНЫҢ ҮЛГІЛЕРІ
1.
Әртүрлі операциялық жүйелерде процесстерді басқару әдістерін
салыстыру.
2.
Процесстердің диспетчерлендіруін имитациялық модельдеу.
3.
Виртуалды беттерді ауыстыру алгоритмдерінің өнімділігін талдау.
4.
Дискілік жоспарлау алгоритмдерінің өнімділігін талдау.
5.
Әртүрлі операциялық жүйелерде жадыны басқару әдістерін салыстыру.
6.
Қазіргі заманғы операциялық жүйелерге шолу.
7.
Смартфондар, планшеттер және басқа мобильді құрылғыларға арналған
операциялық жүйелер.
8.
Процесстерді жоспарлау симуляторын жүзеге асыру.
9.
Жадыны басқару симуляторын жүзеге асыру.
10. Файлдық жүйе симуляторын жүзеге асыру.
11. Үлестірілген қосымшаларды жүзеге асыру.
Достарыңызбен бөлісу: |