Course CSE230
Title Intermediate Programming in C and C++
Credits 3
Course Coordinator

Erez Zadok


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.

Bulletin Link


CSE 130 or CSE 220 or ESE 124 or ESG 111 or BME 120 or MEC 102

Course Outcomes
  • 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

  • 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