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
 3 hours 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

1-Lec - Introduction and Course Objectives.ppt

  • 1.
    Programming Fundamentals CSC102 Lecture 1: Introductionand Course Objectives Dr. Shariq Hussain Office: (Third Floor) Email: shariq.ustb@gmail.com
  • 2.
    Course Outline  CourseName: 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
  • 3.
    Course Description  Anintroduction 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
  • 4.
    Objectives  To learnfundamental 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
  • 5.
    Books  “C++ Howto 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.
  • 6.
    Labs  3 hoursper week, in computer lab  Purpose of labs: ◦ guided, hands-on experience with C++ programming  Labs are mandatory  Use of lab manual
  • 7.
    Computing Environment  Computersrunning Windows 7 or Higher  Dev C++ Web link: https://www.bloodshed.net/dev/devcpp.html
  • 8.
    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
  • 9.
    Grading Criteria  Internal(Assignments, Quizzes, Project, Presentations): 25%  Midterm exam: 25%  Final exam: 50%
  • 10.
    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
  • 11.
    Sessional Activities  Eachstudent has to do the assigned task/assignment or take quiz independently  The sessional activities includes quizzes, assignments, tasks, project, presentations, etc.
  • 12.
    Lab Projects  Studentshave 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
  • 13.
    Note:  Attendance: ◦ Regularattendance 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.
  • 14.
    Course Outline Week Topics 1Introduction 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
  • 15.
    Course Outline Week Topics 5Control 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
  • 16.
    Course Outline Week Topics 9while 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.
  • 17.
    Course Outline Week Topics 13Strings, 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
  • 18.
    What Can WeDo 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