Basic structure of modern computer systems; data representation in computers; algorithmic problem solving; program design and development methodology; introductory programming using a high-level programming language; programming practice in computer laboratory.