Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 18

Programming Fundamentals

CSC102

Lecture 1: Introduction and Course Objectives

Dr. Shariq Hussain


Office: (Third Floor)
Email: shariq.ustb@gmail.com
Course Outline
 Course Name: Programming Fundamentals
 Credit Hours: 3+1
 Contact Hours: 3+3

 Course Meeting Times


 Lectures:
 2 sessions / week
1 hour & 15 minutes / session

 Labs:
 1 session / week
3 hours / session

 Level:
 Undergraduate
Course Description
An introduction to the basic concepts of
computer programming
Characteristics of computers are
discussed
Basics of structured and Modular
programming
Students design, code, and debug
programs using C/C++ language
Objectives
To learn fundamental problem solving
techniques
Understand fundamentals of programming such
as variables, conditional and iterative execution,
methods, etc.
To learn how to design a program
To learn to use the C++ programming language
Books
 “C++ How to Program by Paul Deitel and Harvey
Deitel, Prentice Hall; 10th Ed. (March 2016)

 Reference Books
 1. “C++ Programming: From Problem Analysis to Program Design”,
by D. S. Malik, 2nd Ed. 2004.
 2. “Problem Solving and Program Design in C”, by Jeri Hanly & E. B.
Koffman, 4th Ed. 2004.
Labs
3hours per week, in computer lab
Purpose of labs:
◦ guided, hands-on experience with C++
programming
Labs are mandatory
Use of lab manual
Computing Environment
Computers running Windows 7 or Higher
Dev C++
Web link: https://www.bloodshed.net/dev/devcpp.html
Learning the Material
There are a number of ways we provide to
help you learn the material
– Lectures
– On the website
– Programming homework
– Labs
– Textbooks
– Instructors (office hours)
– Fellow students
Find what works best for you and use it
Grading Criteria
Internal(Assignments, Quizzes, Project,
Presentations): 25%
Midterm exam: 25%
Final exam: 50%
Workload and Attendance
Students are expected to spend at least 2 Hrs of
study for each 75 Minutes lecture
75% attendance is required for successful
completion of the course.
Students having attendance less than 75% will
not be allowed to take the final exam
In other words, a student should not have more
than 8 absentees from lectures and 4 absentees
from labs
Sessional Activities
Each student has to do the assigned
task/assignment or take quiz
independently
The sessional activities includes quizzes,
assignments, tasks, project, presentations,
etc.
Lab Projects
Students have to develop a project using
the C++ structures
The project will be part of Lab course
Groups can have 2-3 team members
Project submission will be required
before final term exam or as instructed by
lab instructor
Note:
 Attendance:
◦ Regular attendance is expected.

 Missed Exams:
◦ All missed exams and quizzes will be assigned a grade of "0".

 Assignments:
◦ One day late submission = 50% marks
◦ Two days late submission = 25% marks
◦ Zero after two days late

 Cheating and Plagiarism:


◦ Plagiarism is the presentation of another person's work or ideas as if they were one's
own.
◦ A grade "0" for an examination, quiz or assignment or "F" for the course may be
assigned if cheating or plagiarism has taken place.
Course Outline
Week Topics
1 Introduction to the course, Main topics and Course Objectives, Computers and
Data Processing, Overview of the Computer System and Programming

2 Review of C++ features, Variables, Constants, I/O (cin and cout )

3 Data types overview, Operators in C++, Arithmetic Operators, Using


Arithmetic Operators

4 Relational Operators, Logical Operators, Assignment, Conditional Expression


Operator, Precedence of Operators
Course Outline
Week Topics
5 Control Flow, Decisions if then, if then else
6 Nesting ifs, Switch, more about Switch and multiple selection

7 Looping, for loop, for loop examples, Stepping with for loop

8 MIDTERM
Course Outline
Week Topics
9 while loop, Semicolon Warning! , while vs. do while and for loop, Extending the
for loop, break, continue
10 Functions, Calling a Function , Prototypes, Prototyping need, Global Variables

11 Example Prototypes, Example Calls, Rules of Visibility, Call by Value, Storage

12 Declaring Arrays, Accessing Elements, Array Names, manipulation of Arrays,


Multidimensional Arrays, 2D, 3D, etc.
Course Outline
Week Topics
13 Strings, Printing Strings, Null, Assigning to Strings, String functions

14 Concepts of Structures, Setting up the Template, Creating Instances,


Initializing Instances, Structures within Structures, Accessing Members,
Examples
15 Files, Streams, What is a Stream?, Opening Files, Dealing with Errors, File
Access Problem, Copying Files, Convenience Problem, Accessing the
Command Line, Useful Routines, Binary Files

16 Review and Discussions, FINAL EXAM


What Can We Do
By the End of the Course?
Students will have the ability to:
– convert algorithms to C/C++ programs
– design modular C/C++ programs using functions
– design programs with Interactive Input and Output
– design programs utilizing arithmetic expressions
– design programs utilizing repetition
– design programs utilizing decision making
– design programs utilizing arrays
– design programs using file Input and Output
– develop simple search and sort algorithms

You might also like