Spring 2015 - Lahore University of Management Sciences

advertisement
Lahore University of Management Sciences
CS 200 – Introduction to Programming
Spring 2015
Instructor
Room No.
Office Hours
Email
Telephone
Secretary/TA
TA Office Hours
Course URL (if any)
Naveed Arshad
9-124
TBA
naveedarshad@lums.edu.pk
8190,
TBA
TBA
TBA
Course Basics
Credit Hours
Lecture(s)
Recitation/Lab (per week)
Tutorial (per week)
3
Nbr of Lec(s) Per Week
Nbr of Lec(s) Per Week
Nbr of Lec(s) Per Week
2
1
1
Duration
Duration
Duration
1 hour and 50 minutes
2 horus and 50 minutes
1 hour and 50 minutes
Course Distribution
Core
Elective
Open for Student Category
Close for Student Category
COURSE DESCRIPTION
This course teaches computer programming using a mix of on-paper and on-computer exercises. It focuses on procedural as well as objectoriented programming using C++.The main concepts discussed are: Variables, functions, structures, classes, objects, some commonly useful data
structures, algorithms and algorithmic complexity.
COURSE PREREQUISITE(S)
None



COURSE OBJECTIVES



Become familiar with breaking down a problem into objects rather than procedures
Learn object-oriented programming in C++
Learn what is available o_ the shelf to facilitate C++ development (tools, libraries)
Learning Outcomes



Be comfortable programming in C++
Be able to adapt other programming languages and platforms
Be able to integrate with other’s code and libraries
Lahore University of Management Sciences
Grading Breakup and Policy
Assignments and labs: 30%
First Midterm Examination: 15%
Second Midterm Examination: 25%
Labs/assignments: 30%
Examination Detail
Midterm
Exam
Preferred Date: TBA
Exam Specifications: In lab exam with programming tasks to do on a computer
Yes
Final Exam
COURSE OVERVIEW
Module
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Topics
Introduction, Binary, Bits and Bytes, ASCII, Programming, Algorithms, Statements,
Boolean expressions, Conditions, Loops, Variables, Threads, Events
C++ Source code, Compilers, Object code, SSH, GCC, Functions, Comments, Standard output, Arithmetic operators, Precedence,
Associativity, Local variables, Types,
Casting, Standard input, Libraries, Boolean expressions continued, Conditions continued, Loops continued
Functions continued, Global variables, Parameters, Return values, Stack Frames, Scope,Arrays, Strings, Command line
arguments, Recursion, Cryptography
Linear search, Binary search, Big-O notation, Bubble sort, Selection sort, Insertionsort, Debugging
Merge sort, Structures, Dynamic memory allocation, Stack and heap, Pointers, Debugging continued
Pointers continued, File I/O, Forensics, Linked lists
Bitwise operators, Hash tables, Trees, Binary search trees
Object oriented programming, Classes and objects, Inheritance, Constructors and destructors, Polymorphism
Virtual Functions, Abstract classes, verloading, Overriding
Stream I/O
Exception handling, Templates, STL
Textbook(s)/Supplementary Readings
“A computer science tapestry” by Owen L. Astrachan available online at http://www.cs.duke.edu/csed/tapestry/
Download