CMPE 230: Systems Programming
Fall 2001
Catalog Description:
Overview of compilers, interpreters,
assemblers, linkers and loaders. Unix environment and system calls. Signals and
exceptions. Localization and Unicode. Perl and CGI Programming. Assembly
language programming. Introduction to multithreading. Introductory Graphical
User Interface (GUI) programming.
- Prerequisites:
- CMPE 160 (or proficiency in C and C++ languages)
- Instructor:
- Can Özturan, ETA 213
- TA:
- Rabun Kosar
- Textbook:
-
- Schwartz, Phoenix, Learning Perl, 3rd Edition, O'Reilly, 2001.
- Wall, Christiansen, Orwant, Programming Perl, 3rd Edition, O'Reilly,
2000.
- Reference Books:
-
- Kernighan, Ritchie, C programming language, Prentice Hall.
- Ayala, K. J., The 8086 Microprocessor: Programming and Interfacing the
PC, West Publishing Company, 1995.
- Course Notices:
- http://www.cmpe.boun.edu.tr/courses/cmpe230
Topics:
- System Software Overview: assemblers, linkers, loaders, compilers
interpreters, script languages, window systems
- Memory layout of C programs
- Unix environment and system calls : File I/O and locking using systems
calls.
- Signals and exceptions.
- CGI Programming.
- Localization, unicode.
- Perl Programming: variables, associative arrays, flow control, I/O, file
handling, references, pattern matching, subroutines, packages, modules,
libraries, formats, system admin. , internet programming.
- X86 Assembly language programming: x86 family, addressing modes, types of
instructions, segmented memory, 8086 registers, data movement, arithmetic,
logical, jump, comparison, stack dos instructions, A86 and GNU assemblers.
- Multithreading.
- Introductory GUI programming.
Grading:
Projects 35 %
MidTerm 1 17.5 %
MidTerm 2 17.5 %
Final 30 %
Project Submission:
You are to submit:
- A documented listing of well-structured modular source code.
- Electronic copy of your source (diskette or by other method that will be
announced in the class).
- External documentation (like a UNIX man page).
Project Grading:
Your project will be graded based on
the following:
- Compilation
- Execution and functionality
- Documentation
- External documentation (design decisions, purpose/behaviour)
- Internal documentation (comments)
- Design and style (algorithms, data structures, modularity)
Academic Dishonesty:
Students who cheat in the exams
or copy other students projects will be dealt with according to YÖK's rules.
Make-Up exams:
Make-up exams will be given to those
who really couldn't take the exam due to some emergency. Students who
cannot attend an exam due to unexpected circumstances (e.g. medical problems),
are required to submit a written explanation or doctor's report within 2 working
days following the event.
File translated from TEX by TTH, version 2.65.
On 24 Sep 2001, 16:30.