Course
Course Catalog URL:
Identifier:
COM S 3270
Professor(s):
Offered during Fall and Spring Semesters each year.
- Credits and contact hours: 3 credits, 3 contact hours
- Instructor’s or course coordinator’s name: James Lathrop
- Text book, title, author, and year: None required
- Other supplemental materials: The C++ Programming Language, Bjarne Stroustrup; The C++ Standard Library, Nicolai M. Josuttis; The C Programming Language, Kernighan and Ritchie
Specific course information
- Brief description of the content of the course: Object-oriented programming experience using a language suitable for exploring advanced topics in programming. Topics include memory management, parameter passing, inheritance, compiling, debugging, and maintaining programs. Significant programming projects.
- Prerequisites or co-requisites: Minimum of C- in COM S 228 and MATH 165
- Required, elective, or selected elective? Required
Specific goals for the course
- Specific outcomes of instruction: By the end of the course students should...
- Be able to produce efficient and correct C/C++ programs of significant lengths from specifications.
- Be able to understand and use advanced C/C++ features in software development and maintenance. (1)
- Be able to write and debug large C/C++ programs based on English description or pseudo code. (2)
Brief list of topics to be covered
- Unix
- Comparison of C/C++ with Java
- Stages of the compiler, source code organization
- Using libraries
- Writing header and make files
- Types, operators
- Local and Global variables
- Type modifiers
- File input/output
- Project 1
- Pointers and Arrays
- C structs, functions, prototypes
- Parameter passing by value and by reference
- Strings
- Memory management with malloc, realloc, free
- Debugging with Valgrind and gdb
- Preprocessor
- C++ references and consts
- C++ inline functions and overloading
- C++ classes
- Namespaces
- Project 2
- C++ exception handling
- Inheritance and polymorphism in C++
- C++ templates
- Memory management
- C++ standard template library