0% found this document useful (0 votes)
20 views4 pages

Course Outline

The document outlines the course CC-112: Programming Fundamentals, detailing its objectives, syllabus, assessment criteria, and instructor information. It covers fundamental programming concepts using C++ and C languages, including flowcharts, data types, control structures, functions, and file processing. The course is designed for students in Software Engineering, Computer Science, and Information Technology programs, with no prerequisites required.

Uploaded by

Ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views4 pages

Course Outline

The document outlines the course CC-112: Programming Fundamentals, detailing its objectives, syllabus, assessment criteria, and instructor information. It covers fundamental programming concepts using C++ and C languages, including flowcharts, data types, control structures, functions, and file processing. The course is designed for students in Software Engineering, Computer Science, and Information Technology programs, with no prerequisites required.

Uploaded by

Ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Course Outline

(CC-112: Programming Fundamentals)

Course Title Programming Fundamentals

Course Code CC-112

ü Class Webpage: https://piazza.com/pucit.edu.pk/fall2024/cc112


ü Teacher Notes @ PUCIT Intranet: \\printsrv\\Teacher Data\\Fareed ul Hassan
ü CMS: online.pucit.edu.pk
Course Webpage *Mobile Apps for Piazza Course Page

https://apps.apple.com/us/app/piazza/id453142230
https://play.google.com/store/apps/details?id=com.piazza.android&hl=en_US&gl=US

Course Email [email protected]

Instructor Fareed Ul Hassan Baig

Teacher TBA
Assistant(s)
(T.A)

3
Theory per Week:
Credit Hours Weight: 3 Cr. Hrs.
Count of Lectures: 2
Duration: 90 minutes

Prerequisite o None
Course

Prerequisite o Enthusiasm
Skill/Knowledge o Consistency
/Understanding o Persistence

Follow Up CC-211: Object Oriented Programming

Program Name BS Software Engineering/Computer Science/Information Technology

o “Programming is to Computer science as Calculus to Physics and Engineering”.


Theories of computer science can effectively be verified via programming.
o Students should be able to translate their basic pseudo-code/flow-charts into some
Aims and programming language that computer can understand so that they can get real feel
Objectives of their efforts.
o In addition to learning the translation of their logic into some programming
language, they will also learn basic principles of attacking a problem, a bit of
performance factor and some basic structured design principles.

Topics: Flowcharts/Pseudo Codes, Basic C++ Language Constructs: Data types, Variable
and Constants, Operator and Expressions, Input and Output (I/O), Formatted I/O,
Escape Sequences. Structured Programming in C Language: Decision making using if
control structure, Repetition using for and do while, multiple selection using switch and
logical operators. Procedural Programming in C Language: functions, prototype,
parameter and arguments, call by value and call by reference, library and header files,
scope and life time of variables (storage classes), recursion. Composite data types
Syllabus
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 conversion functions,
Dynamic Memory Allocation. User Defined Data Types: structures, definition,
initialization, accessing members of structures, typedef, union and bitwise operators,
enumerations. C File Processing: files and streams, Sequential Access File, Random
Access File, Secondary Storage I/O. Miscellaneous Topics: Command Line Arguments.

A. Tony Gaddis, “Starting out with C++: from control structures through objects”, 7th
Text Book(s)
Ed., Addison-Wesley, 2012. ISBN 978-0-13-257625-3

R1. Reference from different books, some web-link or lecture notes for reading will be
provided.
Reference R2. D.S. Malik, C++ Programming, From Problem Analysis to Program Design, 8th Ed.,
Material ISBN-13: 978-1-337-10208-7
R3. Brian W. Kernighan and Dennis M. Ritchie, “The C Programming Language”, 2nd Ed.,
Prentice Hall, ISBN 978-0131103627.

Department of Software Engineering (DSE), FCIT, PU, Lahore, Pakistan. Page 1 of 4


Course Outline
(CC-112: Programming Fundamentals)

R4. Bjarne Stroustrup, The C++ Programming Language (4th Edition), Addison-Wesley,
ISBN 978-0321563842. May 2013.

Sessional ………………… 25% Mid ……… 35% Final ……… 40%


Quizzes,
Assignment, 17 Written Exam Written Exam
Tests …………………35 …………………40
Project 8
Assessment
Criteria 25 35 40
Total
100
o Sessional marks distribution may vary depending upon the time available in the
semester and activities conducted in different heads.
o Sessional Marks will be updated online on the Google Docs during the semester but
at the end, it will be populated on PUCIT CMS.

Lecture Breakdown

Week Lec # Topic Source

Introduction to the Course: Class discussion and


1 • Role of CC-112 in the Degree. Practice Files
1 Pseudo Code: Sequence

Flow Charts/Pseudo Code: Conditions Class discussion and


2
Practice Files

Flow Charts/Pseudo Code: Repetition Class discussion and


3
Practice Files
2
Flow Charts/Pseudo Code: Repetition Class discussion and
4
Practice Files

Flow Charts/Pseudo Code: Repetition Class discussion and


5
Practice Files

C++ Programming Language: Introduction, History, and A-(1.3)


3 Significance.
Setting up Programming/Compiling Environment
6
Program Development Life Cycle: Editing, Compiling, Linking,
Loading and Execution. Source file, Object Files, and Executable
files.

Introduction to C++: Hello world program, cout, stream A-(2.1 ~ 2.4)


7 insertion operator, Escape sequences, preprocessor: #include;
Difference between Variables and Literals, Identifiers
4
Data types: short, int, long, char, float, double, bool; sizeof A-(2.5 ~ 2.7, 2.9 ~ 2.16)
8 operator; Variable assignment and initialization; Arithmetic
operators; Comments;

Taking input: cin, extraction operator and its properties; A-(3.1 ~ 3.6)
Concept buffered input; Read C-Strings
Arithmetic expressions: operator precedence and associativity;
9
Library functions: Math: power; Overflow, Underflow, Type
coercion, Type casting, Named constants: const, #define;
5 Multiple assignment

Formatted output: setw, setprecision, fixed, showpoint, left, A-(3.7 ~ 3.13)


right
10
Formatted input: cin.get, cin.getline, cin.ignore; Random
number generation

Selection: Relational operators and expressions, Truth values, A-(4.1 ~ 4.12)


6 11 if, if-else, nested if, if-else if, Logical operators, Input
validation, Scope

Department of Software Engineering (DSE), FCIT, PU, Lahore, Pakistan. Page 2 of 4


Course Outline
(CC-112: Programming Fundamentals)

Selection: Comparing strings (strcmp), Conditional operator, A-(4.13 ~ 4.16)


12
switch statement

Repetition: Increment and decrement operators, while loop, A-(5.1 ~ 5.6)


13
7 Input validation

14 Repetition structure: while loop continued

Repetition: Sentinel-controlled loops, Nested loops, break, A-(5.7, 5.8, 5.11 ~ 5.13)
15
continue
8
Functions: Motivation, Defining, Calling, Function prototype, A-(6.1 ~ 6.9)
16
Passing arguments by value

Mid Term Examination

Passing arguments by reference R1


17
Introduction to Pointers
9 Functions: Local and global variables, Static variables, Default A-(6.10 ~ 6.12, 6.14 ~
18 arguments 6.16)
Overloading functions

Arrays: Introduction, Declaration, Subscripts, Input and output, A-(7.1 ~ 7.5, 7.7)
19
No bounds checking, Array initialization

10 Parallel Arrays A-(7.6)


Searching (Linear, Binary), Sorting (Selection Sort) A-(9)
20
Pointer Data Type Significance
Pointer Arithmetic, working of index operator

Two-D arrays, Mapping formulae for 1-D and 2-D array A-(7.8 ~ 7.10)
21 Character Arrays
11 Array of character arrays (2-D character arrays)

Pointers: Using const with pointers, Heap: Dynamic memory A-(9)


22
allocation (new and delete), Dangling pointers

Pointers: Dangling pointers, Memory leak, Pointer to pointer A-(9)


23
(Multiple indirection), Dynamically allocating a 2-D array
12 Alias A-(10)
24 C-Strings: Library functions (strlen, strcpy, strcat, strncpy,
strncat, strstr), Conversion (atoi, atol, atof, itoa), strtok

Structs: Declaration, Accessing members, Initialization, Arrays A-(11)


25 of structs, Nested structs, Passing/returning structs to/from
13 functions

Structs: Pointer to struct, Dynamic allocation, Pointer member A-(11)


26
variables;

27 Structs: Case Study R1


14
28 Unions, Enumerated Data Type A-(11)

Streams: Text, Binary A-(12.1 ~ 12.4)


29
15 Text data reading writing

30 Text Files continued… R1

Binary File I/O: get, put, read, write A-(12)


31
Binary File I/O: R1
16 Creating records with structures, Random access files (seekg, R1
32 seekp, tellg, tellp)
Binary File I/O: Opening a file for both input and output

Final Term Examination

Department of Software Engineering (DSE), FCIT, PU, Lahore, Pakistan. Page 3 of 4


Course Outline
(CC-112: Programming Fundamentals)

Code of Conduct
• In Quizzes/Tests, you are allowed to use any helping material available at that time unless specified
otherwise. Neighbors and machines are exception.
• Big NOs
o Any sort of communication with your peers/seniors/internet/books etc. on the assigned tasks
may lead you to Grade ‘F’ in the course/Lab.
o Violation of coding convention.
o Late Submissions.
• Once the marks are published on Google docs for any graded task (sessional), You can question about any
discrepancy about it within 3 working days otherwise grading will be considered final.
• Mobile Phones must be switched off during the class and laboratory.
• How to Contact Me:
o Observe the counseling hours! (Preferred/Recommended Option)
When: (Tue, Thu): (1430 ~ 1600)
Where: Graduate Block – 1st Floor – Office#1.
OR
o Use Piazza
§ Send/Post all the course related queries to https://piazza.com class page as private post.
§ For any other information/query, you may send the email at [email protected], but
send it through your PUCIT Email-ID.

Department of Software Engineering (DSE), FCIT, PU, Lahore, Pakistan. Page 4 of 4

You might also like