Module, integration, system, and acceptance testing. Debugging, documentation, maintenance, and configuration control. Application of these concepts in a software development project. Survey of various programming languages. Introduction to programming language syntax and semantics.
Operating systems are the software interface between the hardware and the user of a computer system.
Focus is on structure and design of an operating system including concurrency, file systems, process control and memory management. Image processing techniques are used to quantify and manipulate visual information in diverse applications such as satellite imagery, robotic vision, and animation. Topics include enhancement, representation, restoration, and digitization techniques. Database architecture, relational database model, normalization, SQL query languages, B-trees and hashing. The design and construction of language translation systems.