UNIVERSITY OF NEW YORK IN TIRANA Course Syllabus – Spring 2012

Course: Introduction to Programming (4 credit hours) Lecturer: Narasimha Rao V
Office Hours: Thursday, Friday (1000-1300 hrs). Phone: 0695489424

E-mail: narasimharao@unyt.edu.al
Course Website: https://sites.google.com/site/introtoprogramming2012/ Course Timings: Monday 0900-1300 4B Lab

Catalog Description

The purpose of the course is to teach students foundations of computer programming and design and write programs in C++. Students will be taught basic programming skills using C++.

Course Purpose

This course provides an introduction to the most essential components of C++ .The course begins by introducing the built in data types, fundamental control constructs, and rich expression operator repertoire of C++. The course concludes with an introduction to object oriented programming.

Required Readings, Text

C++ Programming: From Problem Analysis to Program Design, 5th Edition, Author: D.S. Malik. Course Technology. ISBN-13: 978-0538798082.

Recommended Readings

C++: How to Program, Deitel and Deitel, 5th Edition, Prentice Hall, ISBN-13: 978- 0131857575

Required Additional Materials

Students will be provided hand outs and extra notes as and when required.

Course Objectives
Upon completion of this course, students should be able to:

  • Examine high-level programming languages
  • Discover what a compiler is and what it does
  • Examine ways to output results using output statements
  • Use preprocessor directives and why they are necessary
  • Debug syntax errors
  • Explore how to properly structure a program, including using comments to

    document a program

  • Learn how to write a C++ program
  • Explore how to read data from the standard input device
  • Learn how to use predefined functions in a program
  • Examine relational and logical operators
  • Explore how to form and evaluate logical (Boolean) expressions
  • Understand how to use the selection control structures if, if…else, and

    switch in a program

  • Explore how to construct and use count-controlled, sentinel-controlled, flag-

    controlled, and EOF–controlled repetition structures

  • Examine break and continue statements
  • Discover how to form and use nested control structures
  • Explore how to construct and use a value-returning, user-defined function in a

    program

  • Discover the difference between value and reference parameters
  • Learn function overloading
  • Explore the string data type and learn how to use the various string

    functions to manipulate strings

  • Explore how to declare and manipulate data into arrays
  • Explore how to sort an array using the bubble sort, selection sort, and insertion

    sort algorithms

  • Explore ways to manipulate data using a struct
  • Learn about classes
  • Learn about private, protected, and public members of a class
  • Explore how classes are implemented

Content of the Course

The Evolution of Programming Languages Programming Methodologies
Processing a C++ Program
The Basics of a C++ Program

Data Types
Arithmetic Operators and Operator Precedence Expressions
Program Style and Form
I/O Streams and Standard I/O Devices
Using Predefined Functions in a Program
Output and Formatting Output
Control Structures
Relational Operators
Logical (Boolean) Operators and Logical Expressions Selection: if and if…else
Designing while Loops
for Looping (Repetition) Structure
do…while Looping (Repetition) Structure
break and continue Statements
Nested Control Structures
User-Defined Functions
Value-Returning Functions
Void Functions
Value and Reference Parameters
Function Overloading
Storage Classes
Enumeration
Arrays and Strings
Applications of Arrays
Structures
Classes and Data Abstraction

Course Requirements

Participation: Participation extends beyond mere attendance. Expect your instructor to keep track of how often you contribute to class discussion (as a whole), particularly during the panel discussion section. You may miss up to three classes without penalty – your first two absences count whether you have a good excuse or not. Each absence beyond the first three will cost you points off of your participation grade. The only exceptions to this rule are severe illness (doctor’s note required) and UNYT approved trips/activities. Appropriate documentation for absences beyond the first three is necessary the class day directly before or after the one you miss. In general: this class is intensive and interactive. Missing class could seriously affect your grade! Students are

reminded not to approach the instructor for copies of the previous week’s materials during immediately before, during, or immediately after class. Students are expected to collect materials from their classmates or see the instructor during consultation hours.

Exams: Two examinations will be taken, a midterm and a final exam covering all course content during the final examination period. Test format may combine a mixture of short answer, true/false, matching, sort answer, and one or two essay questions covering all readings, lecture, hand-out and class discussion content.

Final Examination: June 11, 2012 General Requirements

Late assignments and absence from tests will not be tolerated. In the event of illness or emergency, contact your instructor IN ADVANCE to determine whether special arrangements are possible. The University’ s rules on academic dishonesty (e.g. cheating, plagiarism, submitting false information) will be strictly enforced. Please familiarize yourself with the STUDENT HONOUR CODE, or ask your instructor for clarification.

Criteria for Determination of Grade, including Evaluation Methods

Grading Scale

Assignments(Home & Lab Practice)

30%

Midterm

30%

Final

40%

Letter Grade

Percent (%)

Generally Accepted Meaning

A

96-100

Outstanding work

A-

90-95

B+

87-89

Good work, distinctly above average

B

83-86

B-

80-82

C+

77-79

Acceptable work

C

73-76

C-

70-72

D+

67-69

Work that is significantly below average

D

63-66

D-

60-62

F

0-59

Work that does not meet minimum standards for passing the course

Course Outline

Week

T opics

Chapter Readings

Exams

1

An Overview of Computers and Programming Languages

Chapter 1

2

Basic Elements of C++

Chapter 1

3

Basic Elements of C++ Input/Output

Chapter 2 Chapter 3

Assignment-1

4

Control Structures – Selection

Chapter 4

5

Control Structures – Repetition

Chapter 5

6

Control Structures – Repetition

Chapter 5

Assignment-2

7

Mid-term Exam

8

User Defined Functions – I

Chapter 6

9

User Defined Functions – II

Chapter 7

Assignment-3

10

User Defined Data types and Namespaces

Chapter 8

11

Arrays

Chapter 9

12

Strings

Chapter 9

13

Applications of Arrays

Chapter 10

Assignment-4

14

Classes and Data Abstraction

Chapter 11

15

Final Exam

Bibliography (Additional Readings)

  • Budd, T. An Introduction to Object-oriented Programming,
  • Addison Wesley, 2nd edition.
  • Design Patterns: Elements of Reusable Object-oriented Software.

    Addison-Wesley.

  • Let us C++, Yashavant Kanetkar, BPB Publications
  • Test Your C++ Skills, Yashavant Kanetkar, BPB Publications.
  • Data Abstraction and Object-oriented Programming in C++, K.E.Gorlen, et.al, J.

    Wiley, ISBN 0-471-92346-X

  • The Design and Evolution of C++, B. Stroustrup, Addison-Wesley, ISBN 0-201-

    54330-3

  • Scientific and Engineering C++, J.J. Barton, L.R.Nackman, Addison-Wesley,

    ISBN 0-201-53393-6

  • The Annotated C++ Reference Manual, M. Ellis, B. Stroustrup, Addison-Wesley,

    ISBN 0-201-51459-1

  • Object Oriented Programming Using C++, I. Pohl, The Benjamin/Cummings,

    ISBN 0-8053-5382-8

  • The Draft Standard C++ Library, P.J. Plauger, Prentice Hall, ISBN 0-13-117003
  • The C++ Programming Language, B. Stroustrup, Addison-Wesley.
  • C++ Primer, S.B. Lippman, Addison-Wesley, ISBN 0-201-54848-8
  • C++ database Development, A. Stevens, MIS: Press, ISBN 1-55828-357-9
  • C++ I/O Streams Handbook, S. Teale, Addison-Wesley, ISBN 0-201-59641-5
  • The Complete C++ Primer, K. Weiskamp, B. Flaming, Academic Press.
  • Taming C++: Pattern Classes and Persistence for Large Projects, J. Soukup,

    Addison-Wesley, ISBN 0-201-52826-6

    Technology Expectations

    • Software Required: Visual Studio 2010.
    • Students can get all the Lecture Slides, notes and other links at the course

      webpage. The link for the course web page will be provided on the day of the first

      class.

    • All assignments must be submitted only through Turnitin.
    • Assignments are to be word-processed. Continuing and regular use of e-mail is

      expected.

      Date Prepared: February 17, 2012 Prepared by: Rao V.N.