CSE 4252
Transcript Abbreviation:
C++ Programming
Course Description:
Syntax and pragmatics of C++ programming; C++ types, arrays, classes, pointers; objects and classes; compile-time vs. run-time picture; inheritance; template classes.
Course Levels:
Undergraduate (1000-5000 level)
Designation:
Elective
General Education Course:
(N/A)
Cross-Listings:
(N/A)
Credit Hours (Minimum if “Range”selected):
1.00
Max Credit Hours:
(N/A)
Select if Repeatable:
Off
Maximum Repeatable Credits:
(N/A)
Total Completions Allowed:
(N/A)
Allow Multiple Enrollments in Term:
No
Course Length:
14 weeks (autumn or spring)
12 weeks (summer only)
Off Campus:
Never
Campus Location:
Columbus
Instruction Modes:
In Person (75-100% campus; 0-24% online)
Prerequisites and Co-requisites:
Prereq: 2123 or 2231; and 2321; and enrollment in CSE, CIS, ECE, Engr Physics, or Data Analytics major, or CS minor.
Electronically Enforced:
Yes
Exclusions:
Not open to students with credit for 2122.
Course Goals / Objectives:
Be competent with using C++ classes, member functions, constructors, destructors, etc.
Be competent with using templates and the C++ standard template library (STL)
Be competent with using inheritance including using virtual functions
Be familiar with using arrays and pointers to work with collections of objects and with allocating and releasing memory
Be familiar with using .h and .cpp files to organize large programs
Be familiar with the relation between the runtime picture and the source-level picture of moderately complex programs; and using this to build reliable programs
Check if concurrence sought:
No
Contact Hours:
Topic | LEC | REC | LAB | LAB Inst |
---|---|---|---|---|
Compiling and running C++ programs (including use of .h and .cpp files) | 0.5 | 0.0 | 0.0 | 0 |
Overview of simple types in C++; arrays, classes, address types (pointers and references) | 1.5 | 0.0 | 0.0 | 0 |
Distinction between objects and classes; compile-time picture vs. runtime; member functions are invoked on objects; exception: static members (both data and functions) | 2.0 | 0.0 | 0.0 | 0 |
Stack vs. heap objects; automatic vs. explicit creation; constructors and destructors; new and delete; "this" pointer; complex structures such as trees | 3.0 | 0.0 | 0.0 | 0 |
Inheritance; public vs. private vs. protected; overriding; virtual methods, pure virtual methods, abstract classes; virtual vs. non-virtual methods; runtime dispatch and how it works | 3.0 | 0.0 | 0.0 | 0 |
Exceptions, namespaces | 2.0 | 0.0 | 0.0 | 0 |
Templates; examples using STL | 2.0 | 0.0 | 0.0 | 0 |
Total | 14 | 0 | 0 | 0 |
Grading Plan:
Satisfactory/Unsatisfactory
Course Components:
Lecture
Grade Roster Component:
Lecture
Credit by Exam (EM):
No
Grades Breakdown:
Aspect | Percent |
---|---|
Class attendance, participation | 15% |
Programming assignments | 85% |
Representative Textbooks and Other Course Materials:
Title | Author | Year |
---|---|---|
The C++ Programming Language | B. Stroustrup |
ABET-CAC Criterion 3 Outcomes:
Outcome | Contribution | Description |
---|---|---|
1 | Some contribution (1-2 hours) | Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. |
2 | Substantial contribution (3-6 hours) | Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. |
4 | Some contribution (1-2 hours) | Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles |
6 | Substantial contribution (3-6 hours) | Apply computer science theory and software development fundamentals to produce computing-based solutions. |
ABET-ETAC Criterion 3 Outcomes:
(N/A)
ABET-EAC Criterion 3 Outcomes:
Outcome | Contribution | Description |
---|---|---|
1 | Some contribution (1-2 hours) | an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics |
2 | Substantial contribution (3-6 hours) | an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors |
4 | Some contribution (1-2 hours) | an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts |
6 | Some contribution (1-2 hours) | an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions |
7 | Substantial contribution (3-6 hours) | an ability to acquire and apply new knowledge as needed, using appropriate learning strategies |
Embedded Literacies Info:
Attachments:
(N/A)
Additional Notes or Comments:
(N/A)
Basic Course Overview:
CSE_4252_basic.pdf
(10.52 KB)