Curricula/Syllabi of BS Information Technology for Punjab University Affiliated Colleges
Course Title     Programming Fundamentals
 Course Code      CC-112
 Credit Hours     3
 Category         Computing core
 Prerequisite     None
 Co-Requisite     None
 Follow-up        CC-211: Object Oriented Programming, DI-322: Web Technologies
                  Introduction: Problem solving, Von-Neumann architecture, programming,
                  compiler, linker, algorithms, Flowcharts/Pseudo Codes. Basic C++ Language
                  Constructs: Data types, Variable and Constants, Operator and Expressions, Input
                  and Output (I/O), Formatted I/O, arithmetic, comparison and logical operators.
                  Conditional Statements: execution flow for conditional statements, if control
                  structure, multiple selection using switch and logical operators. Repetitive
                  Statements: execution flow for repetitive statements, Repetition using for and
                  do while. Procedural Programming in C Language: functions, prototype,
                  parameter and arguments, call by value and call by reference, stack rolling and
 Course
                  unrolling, library and header files, scope and lifetime of variables (storage
 Description
                  classes). Lists: memory organization of lists, multi-dimensional lists. Composite
                  data types arrays: definition, processing, and passing of array to a function,
                  multi-dimensional arrays. Searching and sorting. Pointers: pointer definition,
                  pointer arithmetic, constant pointers, pointer and arrays. Strings: string and
                  characters, string and string operations, static and dynamic memory allocation.
                  User Defined Data Types: structures, definition, initialization, accessing
                  members of structures, typedef, union, enumerations. C File Processing: files
                  and streams, Sequential Access File, File I/O operations, Random Access File,
                  Secondary Storage I/O. Command Line Arguments.
                  1. Tony Gaddis, Starting out with C++: from control structures through objects,
 Text Book(s)
                     7th Ed., Addison-Wesley, 2012, ISBN 978-0-13-257625-3
                  1. D.S. Malik, C++ Programming, From Problem Analysis to Program Design, 5th
                     Ed., Course Technology, 2011, ISBN: 978-0-538-79813-6
                  2. Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language, 2nd Ed.,
 Reference           Prentice Hall, 1988, ISBN: 978-0131103627.
 Material         3. Bjarne Stroustrup, The C++ Programming Language, 4th Edition, Addison-
                     Wesley, 2013, ISBN 978-0321563842.
                  4. References from different books, some web-links or lecture notes for reading
                     will be provided.
Version 1.0.0                                                                              Page 16 of 68