Sei sulla pagina 1di 11

CSI-301: PROGRAMMING FUNDAMENTALS

Course Instructor: Engr.Irfan Riaz Shohab


Contact Hours: Credit Hours:
Theory = 48 Theory = 3.0
Practical = 48 Practical = 1.0
Total= 96 Total= 4.0
Prerequisites: Introduction to Computing

Sr. CLO Domain Taxonomy PLO


No. level
Define or Describe logic of a program, design
1 an algorithm and make a flow chart to represent Cognitive 1 1
the solution of problem, also describe the syntax
and working of input output, conditional
structures, Looping Structure, Arrays, Structure,
Functions and File Handling.
Analyze different programs to compute the
2 output and identify logical and syntax errors of Cognitive 4 2
input output, conditional structures, Looping
Structure, Arrays, Structure, Functions and File
Handling.
Design and Implement the solution of problem
3 using loops, arrays, functions and structures. Cognitive 5 3
4 To Construct algorithms using C++
i.e. programming language and Implement/Display P4
Psychomotor 5
LLO- their results using Modern C++ Compiler. Mechanism
1
LAB PERFORMANCE OF ALL LABS COMBINED IS 60% OF TOTAL LAB MARKS
LAB PERFORMANCE EVALUATION RUBRIC

No. Levels Poor (0-3) Satisfactory (4-7) Good (8-10)

Follow personal and Follows few Safety Rules or Follows Safety Rules but
1 Always follows Safety Rules.
equipment Safety Rules does not follow them at all. sometimes deviates.

Operational Skills for Shows little to no ability to


Can only handle/use some Can correctly handle/use
Hardware/Software handle/use
2 equipment/software and equipment/software and
equipment and involved equipment/software and
involved components. involved components.
components involved components.

Procedural Knowledge Able to perform Lab


Unable to perform experiment
to perform Lab experiment with some Able to perform Lab
3 without assistance from Lab
experiment and its assistance from Lab experiment independently.
Instructor.
implementation Instructor.

Requires constant guidance on Requires some guidance on


Data Analysis and Is able to independently
4 how to analyze and interpret how to analyze and
interpretation of results analyze and interpret results.
results. interpret results.

LABORATORY PPERFORMANCE EVALUATION CHART

Experiment No. 

Group No. 

Student Roll No. 

No. Levels Maximum Score Awarded Score

1 Follow Safety Rules 10

Operational Skills for


Hardware/Software
2 10
equipment and involved
components

Procedural Knowledge
to perform Lab
3 10
experiment and its
implementation

Data Analysis and


4 10
interpretation of results
Total 40

Lab report of all labs combined is 10% of total Lab marks


LAB REPORT EVALUATION RUBRIC

No. Levels Poor (0-3) Satisfactory (4-7) Good (8-10)

All information required in


Completeness of required Little to no information has been Partial information required for
1 Lab report has been
information in Lab report documented in Lab report. Lab report is documented
documented.

Little to no information
Correctness of information Partial information documented All information documented
2 documented in Lab report is
documented in Lab report in Lab report is correct. in Lab report is correct.
correct.

LAB REPORT EVALUATION CHART

No. Levels Maximum Score Awarded Score Lab Engineer Signature with Date

1 Completeness 10

2 Correctness 10

Total 20
Programming Fundamentals
Course Contents

1. Introduction to Programming
1.1 Probl e m Solving
1.2 Program
1.2.1 Adva n tages of Computer Program
l. 3 Algorithms & Pseudo Code
1.3.1. Properties of Algorithm
1.3.2 Advantages of Algori thms
1.4 Flowchart
1.4.1 Uses of Logic Flowchart
1.4.2 Flowchart Symbols
1.4.1 Guidelines for Drawing Flowchart
l.4.4 Limitations of Flowchart
1.4.5 Difference between Flowchart & Algorithm
1.5 Program Development Process
1.6 Programming Languages
1.6.1 Low Level Languages
1.6.2 High Level Languages
1.6.2.1 Procedural Language
1.6.2.2 Object-Oriented Languages
1.6.2.3 Non-Procedural Languages
1.6.2.4 Difference between Procedural & Non-
procedural Languages
1.6.3Difference between Low-Level & High-Level Languages
1.6.4Natural Programming Languages
1.7 Types of Codes
1.7.1 Source Code
1.7.2 Object Code
1.7.3 Difference between Source Code and Object Code
1.8 Language Processor
L8.1Compiler
1.8.2 Interpreter
L8.3 Assembler
1.8.4 Difference between Compiler and Interpreter
1.9 Programming Techniques
1.9.l Structured Programming
1.9.2 Object-Oriented Programming
I.9.3 Event-Driven Programming
1.9.4 Visual Programming
2. Introduction to C++
2.1 History of C ++
2.1.1 Features of C++
2.2 Basic Structure of C++ Program
2.2.1 Preprocessor Directive
2.2.2 Header Files
2.2.3 main( ) Functions
2.2.4 C ++ Statements
2.2.5 Token
2 2.6 White Space
3. Programming in C++
3.1 Identifier
3.1.1Types of identifiers
3.2 Keywords
3.3 Data Types
3.3.1 Integer Dc1ta Types
3.3.2 Real Da ta Types
3.3.3 Character Data Type
3.4 Integer Overflow and Underflow
3.5 Scientific or Exponential Notation
3.5.1 Range and Precision
3.6 Variables
3.6.l Variables Declaration
3.6.2 Rules for Declaring Variables
3.6.3 Variable Initialization
3.7 Constants
3.7.1 Literal Constant
3.7.2 Symbolic Constants
3.8 Expression
3.9 Operators
3.9.1 Arith1netic Operators
3.9.2Assignment Statement
3.9.3Compound Assignment Operators
3.9.4 Increment Operator
3.9.5 Decrement Operator
3.9.6 Operator Precedence
3.9.7 Operator Associativity
3.10 Type Casting
3.10.1 Implicit Type Casting
3.10.2 Explicit Casting
3.10.3 The "sizeof ' Operator
3.10.4 Comments
4 Input and Output
4.1 Input and Output
4.2 Standard Output
4.3 Escape Sequences
4.4 C++ Manipulators
4.4.1 'endl' Manipulator
4.4.2 'setw' Manipulator
4.4.3 'setprecision' Manipulator
4.4.4 'fixed' Manipula tor
4.4.5 'showpoint' Manipulator
4.4.6 'setfill' Manipulator
4.5Standard lnput

5 Conditional Structures
5.1Control Structure res
5.1.1 Types of Control Structures
5.2 Relational Opera tors
5.2.1 Relational Expression
5.3 'if Statement
5.3.1 Limitation of simple 'if' Statement
5.4 'if-else' Statement
5.5 Multiple 'if-else-if' Structure
5.6 Nested 'if Structure
5.7Compound Condition
5.8Logical Operators
5.8 'switch' Structure
5.8.1 Difference between nested 'if-else' and 'switch'
5.9 Conditional Operator
5.10 'goto' Statement.
6. Looping Structure
6.1 Loops
6.1.1Counter-Controlled Loops
6.1.2 Sentinel-Controlled Loops
62 'while' Loop
6.3 'do-while' Loop
6.3.1 Difference between 'while' and 'do-while' Loop
6.4 Pretest and Posttest m Loops
6.5 'for Loop
6.5.1 Continue Statement
6.5.2 'break' Statement
6.6 Nested Loops
7. Arrays
7.1 Arrays
7.1.l Advantages I Uses of Arrays
7.1.2 Declaring One-Dimensional Array
7.1.2 Array Initialization
7.1.3 Accessing Individual Element of Array
7.1.4 Accessing Array Elements using Loops
7.1.6 Input and Output Values of an Array
7.2 Searching in Arrays
7.2.1 Sequential Search
7.2.2 Binary Search.
7.3 Sorting Arrays
7.3.1Selection Sort
7.32 Rubble Sort
7.4 Two Dimensional Arrays
7.4.l Accessing Individual Elements of 2-D Array
7.4.2 Entering Data in 2-D Arrays
7.4.3 Initializing 2-D Arrays
7.5 Multidimensional Arrays
7.5.1 Accessing Multidimensional Arrays
8. Structures
8.1 Structures.
8.1.1 Declaring a Structure
8.1.2 Defining Structure Variable
8.1.3 Accessing Members of Structure Variable
8.1.4 Initializing Structure Variables
8.1.5 Assigning One Structure Variable to Other
8 l.6 Array as a member of structures
8.2 Array of Structures
8.2.1 Initializing Array of Structures
8.3 Nested Structure
8.3.1 Accessing Members of Nested Structure
8.3.2 Initializing Nested Structure
9. Functions
9.1 Function
9.1.1 lmportance of Functions
9.1.2 Advantages of Functions
9.2 Types of Functions in C++
9.3 User Defined Functions
9.3.1 Function Declaration or Function Prototype
9.3.2f unction Definition
9.3.3 Function Call
9.3.4 Scope of Function
9.4 Passing Parameters to Functions
9.4.1 Pass by Value
9.4.2 Pass by Reference
9.4.3 Difference between Call by Value and Call by
Reference ..
9.4.4 Returning value Function
9.5 Local Variable
9.5.1 Scope of Local Variable
9.5.2 Lifetime of Local Variable
9.6 Global Variable
9.6.1 Scope of Global Variable
9.6.2 Lifetime of Global Variable
9.6.3 Difference between Local and Global Variable
9.7 Static Variable
9.7.1 Scope of Static Variable
9.7.2 Lifetime of Static Variable
9.8 Register Variable
9.9 Functions and Arrays
9.9.1 Calling Function with Array Parameter
9.9.2 Passing Individual Array Element to Function
9.9.3 Passing Two-Dimensional Array to Function
9.10 Functions und Structure
9.10.1 Passing Structure by Value
9.10.2 Passing Structure by Reference
9.10.3 Returning Structure from Function
9.11 Default Parameters
9.12 lnline Functions
9.13 Function Overloading
9 14 Recursion
10. Built-in Functions
10 1 Built-in Functions
10.2 The 'conio.h' Header File
10.3 The 'stdio.h ' Header File
10.4 Math Functions (math .h)
10.5Type Functions / Character Functions (ctype.h)
11. Pointers
11.1 Memory and References
11.2 Pointer
11.2.1 Pointer declaration
11.2.2 The 'void ' Pointer
11.2.3 Dereference operator
11.2.4 Pointer Initialization
11.3 Operations on Pointer
11.3.1 Pointer Addition
1 1.3.2 Pointer Subtraction
11.4 Pointer and Array
11.4.1 Accessing array element with pointer
11.5 Pointers and String
11.6 Array of Pointers
l1.7 Pointers and Function
11.8 Pointers and Structures
11.8.1 Passing Structure to Function using Pointers
11.9 Memory Management with Pointers
11.9.1 Dynamic Variables
11.9.2 The new Operator
11.9.2 The delete Operator
12. File Handling:
12.1 Files
12.1.1 Advantages of Files
12.1.2 Type of Files
12.2 File Access Methods
12.2.1 Sequential Access Method
12.2.2 Random Access Method
12.3 Stream
12.3.1 Types of Streams
12.3.2 Predefined Stream objects
12.3.3 Stream Class Hierarchy
12.4 Opening files
12.4.1 Default Opening Modes
12.4.2 Verifying File Open
12.5 Closing Files
12.6 Formatted Files 1/0
12.6.1 Writing Data to Formatted Files 1/0
12.6.2 Rending D11ta fro1n Formatted Files l/O
12.6.3 Detecting End-of-File
12.6.4 Reading Lines from Files
12.7 Character I / 0
12.7.1 Writing Single Character
12.7.2 Reading Single Character
12.8 Binary I/0
12.8.1 Writing Data in Binary 1/0
12.8.2 Reading Data in Binary 1/0
12.9 Object 1/0
12.9.1Writing an Object to Disk
12.9.2 Reading fin Object from Disk
12.10 Accessing Record Randomly
12.10.1 File Pointers
12.10.2 The seekg() Function
12.10.3 The seekp() Function
12.11 Printing the Files through Streams

Potrebbero piacerti anche