CSE230


Course

CSE230

Title

Intermediate Programming in C and C++

Credits

3

Course Coordinator

Erez Zadok

Current Catalog Description

An intermediate introduction to the C and C++ programming languages. Topics include basic control structures and data types, functions and program structures, pointers and arrays, input and output system calls, classes and types, inheritance and object-oriented programming, exceptions and templates. Recommended for students who have already completed an introductory programming course and plan to take advanced courses that require familiarity with C or C++.

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 make files, advanced formatting of input and output, conversions. Introduction to object-oriented programming using C++: classes, objects, inheritance, aggregation, and overloading. Suitable for all majors.

Prerequisite

CSE 130 or ESE 124 or ESG 111 or MEC 112 or equivalent

Course Goals
  • Provide a systematic introduction to the C language and C++ for students who have been previously exposed to another high-level programming language.
  • Introduce aspects of the UNIX operating system relevant to developing C programs, such as utilities, system calls, and standard libraries
Textbook
  • 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, Fourth Edition 2004. ISBN: 0-13-142644-3 (covers both C and C++)
Major Topics Covered in Course
  • Basic control structures
  • Expressions
  • Data types
  • Functions and parameter passing
  • Program structures
  • Pointers and arrays
  • Strings
  • Unix I/O interface
  • Input and output system calls
  • Program creation and debugging tools
  • Classes and types
  • Inheritance and object-oriented programming
  • Exceptions and templates
Laboratory Projects
  • 1 week: write program to create an output file containing a customized loan amortization table, based on user inputs.
  • 2 weeks: Write a C program that prompts the user for an integer number as a year and prints the calendar for that year in a nice and readable format of your choice
  • 2 weeks: write a program to prompt the user for the color bands of a resistor, and then calculate its resistance in Ohms.
  • 2 weeks: write a program to read one input file and write an output file, replacing strings that match in the first with another string.
  • 3 weeks: write a program to read an input file that stores student grades in a specific database-like format, then compute and sort the final course grades for each student.
  • 4 weeks, class project: write a program to play Draw Poker with a player, displaying cards graphically.
Course Webpage

http://www.cs.sunysb.edu/~cse230