Syllabus

Course Description

Intermediate programming concepts using the C language in a UNIX environment. Files, systems calls, stream I/O, the C preprocessor, bitwise operations, the use of makefiles, advanced formatting of input and output, conversions. Introduction to object-oriented programming using C++; classes, objects, inheritance, aggregation, and overloading. Suitable for all majors.

Text Books

  • A Book on C, by Al Kelly and Ira Pohl, Addison-Wesley, Fourth Edition 1998 (ISBN: 0-201-18399-4).
  • C How to Program, by Paul Deitel and Harvey Deitel, Prentice Hall, Eight Edition 2016 (ISBN-13: 9780133976892 or 9780134225340).
  • Reference: The C Programming Language, by Brian W. Kernighan and Dennis Ritchie, Prentice Hall, Second Edition 1988 (ISBN: 0-13-110362-8).

Grading Schema

  • Homeworks: 30% (5 homeworks each 6%)
  • Quizzes: 10%
  • Midterms: 30% (2 midterms each 15%)
  • Final: 30%

Course Topics

Major topics covered in this course:

  • Basic Concepts of C
  • Functions and parameter passing
  • Arrays, Pointers, and Strings
  • Bitwise operators
  • Preprocessors
  • Structures and Unions
  • Unix I/O interface
  • Input and output system calls
  • Program creation and debugging tools

Object Oriented Programming (OOP) - C++:

  • Data Abstraction - Classes and Objects
  • Operator Overloading
  • Inheritance
  • Polymorphism
  • Exceptions and templates

Book Chapters

A book on C:

  • Chapter 1: An Overview of C
  • Chapter 2: lexical Elements, Operators, and the C System
  • Chapter 3: The Fundamental Data Types
  • Chapter 4: Flow of Control
  • Chapter 5: Functions
  • Chapter 6: Arrays, Pointers, and Strings
  • Chapter 7: Bitwise Operators and Enumeration Types
  • Chapter 8: The Preprocessor
  • Chapter 9: Structures and Unions
  • Chapter 10: Structures and List Processing
  • Chapter 11: Input/Output and the Operating System

C How to Program:

  • Chapter 11: C File Processing
  • Chapter 15: C++ as a Better C: Introducing Object Technology
  • Chapter 16: Introduction to Classes, Objects and String
  • Chapter 18: Operator Overloading: Class String
  • Chapter 19: Object-Oriented Programming: Inheritance
  • Chapter 20: Object-Oriented Programming: Plymorphism
  • Chapter 21: Stream Input/Output: A Deeper Look

Disability Support Services (DSS) Statement:

If you have a physical, psychological, medical or learning disability that may impact your course work, please contact Disability Support Services, ECC (Educational Communications Center) Building, room 128, (631) 632-6748. They will determine with you what accommodations, if any, are necessary and appropriate. All information and documentation is confidential. Students who require assistance during emergency evacuation are encouraged to discuss their needs with their professors and Disability Support Services. For procedures and information go to the following website: http://www.stonybrook.edu/ehs/fire/disabilities

Academic Integrity Statement:

Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty are required to report any suspected instances of academic dishonesty to the Academic Judiciary. Faculty in the Health Sciences Center (School of Health Technology & Management, Nursing, Social Welfare, Dental Medicine) and School of Medicine are required to follow their school-specific procedures. For more comprehensive information on academic integrity, including categories of academic dishonesty, please refer to the academic judiciary website at http://www.stonybrook.edu/commcms/academic_integrity/index.html

Critical Incident Management Statement:

Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of Judicial Affairs any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn. Faculty in the HSC Schools and the School of Medicine are required to follow their school-specific procedures.