IT109

IT109 - Computer organization and programming
Computer systems are organized as a systematic set of transformations; data representation using bits; operations on Bits; The von Neumann Model; Instruction set architecture: addressing modes, arithmetic, data movement and control instructions; assembly language programming; subroutine calls/return in assembly, subroutine implementation using stacks, assembly process. I/O fundamentals: typical I/O devices, programmed I/O, interrupts and DMA; I/O bus operation; TRAP instruction, role of OS. Basics of Procedural Programming: constants, variables, expressions, operators, assignment, basic input and output, built-in functions, program debugging, run-time organization. Variables and Operators: basic data types, precedence and order of evaluation, pointers, memory allocation of variables. Control Structures: selection statements, iteration statements. Functions and Program structure: return values, actual and formal parameters, parameter passing: call by value versus call by reference, external variables, scope rules, header files, implementation of function call and returns using activation records, recursion. Arrays: character arrays, one and two dimensional arrays; pointer arrays, command-line arguments. I/O: ASCII data files, file pointers, end-of-file. Basic Data Structures: structures, defining new types, enumerations, dynamic memory allocation, dynamic arrays, linked lists and other pointer-based structures.
Back to courses