Programming
Programming
Fundamentals
Fundamentals
CSC102
Lecture 1: Introduction and Course Objectives
Engr. Sherjeel Farooqui
Office: (Third Floor)
Email: Sherjeel.Farooqui@fui.edu.pk
Course Outline
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
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
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
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
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
Computing Environment
 Computers running Windows 7 or
Higher
 Dev C++
Web link: https://www.bloodshed.net/dev/devcpp.html
Learning the Material
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
Grading Criteria
 Internal (Assignments, Quizzes, Project,
Presentations): 25%
 Midterm exam: 25%
 Final exam: 50%
Workload and Attendance
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
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
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:
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
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
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
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
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
What Can We Do
By the End of the Course?
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 0 - Introduction and Course Objectives.ppt

  • 1.
    Programming Programming Fundamentals Fundamentals CSC102 Lecture 1: Introductionand Course Objectives Engr. Sherjeel Farooqui Office: (Third Floor) Email: Sherjeel.Farooqui@fui.edu.pk
  • 2.
    Course Outline 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
  • 3.
    Course Description 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
  • 4.
    Objectives 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 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 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 Computing Environment Computers running Windows 7 or Higher  Dev C++ Web link: https://www.bloodshed.net/dev/devcpp.html
  • 8.
    Learning the Material Learningthe 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 Grading Criteria Internal (Assignments, Quizzes, Project, Presentations): 25%  Midterm exam: 25%  Final exam: 50%
  • 10.
    Workload and Attendance Workloadand 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 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.
  • 12.
    Lab Projects 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
  • 13.
    Note: 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 Course Outline WeekTopics 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
  • 15.
    Course Outline Course Outline WeekTopics 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
  • 16.
    Course Outline Course Outline WeekTopics 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.
  • 17.
    Course Outline Course Outline WeekTopics 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
  • 18.
    What Can WeDo What Can We Do By the End of the Course? 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