MASTER SYLLABUS

2020-2021

A.	Academic Division: Business, Industry, and Technology

B.	Discipline: Engineering Technology

C.	Course Number and Title: ENGR1910 Engineering Programming

D.	Course Coordinator: Mike Beebe

Assistant Dean: Toni Johnson, PhD

Instructor Information:

Name:	Click here to enter text.

Office Location:	Click here to enter text.

Office Hours:	Click here to enter text.

Phone Number:	Click here to enter text.

E-Mail Address	Click here to enter text.

E.	Credit Hours: 3

Lecture: 2

Laboratory: 2

F.	Prerequisites: ENGR1010

G.	Syllabus Effective Date: Fall 2020

H.	Textbook(s) Title:

Introduction to Programming with C++

Author: Y. Daniel Liang

Copyright Year: 2013

Edition: 3rd

ISBN # 9780133252811

Workbook(s) and/or Lab Manual: None

J.	Course Description: This course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. The primary method for learning the course material will be to work through multiple "mini-projects". The student will create technical and simple game programs, debug and test programs, and describe and implement the data structures available. The student will also design a simple algorithm using pseudocode and create programs that implement a variety of common algorithms. Prerequisite: ENGR1010

K.	College-Wide Learning Outcomes:

College-Wide Learning Outcome	Assessments - - How it is met & When it is met
Communication – Written
Communication – Speech
Intercultural Knowledge and Competence
Critical Thinking
Information Literacy
Quantitative Literacy

L.	Course Outcomes and Assessment Methods:

Upon successful completion of this course, the student shall:

Outcomes	Assessments – How it is met & When it is met
Describe computer basics, programs, and operating systems.	Met by performing lab exercises, and responding to quiz questions during weeks 2 & 3.
Write a simple C++ program for console output.	Met by performing lab exercises, and responding to quiz questions during weeks 2 & 3.
Apply the correct syntax and logic to write C++ programs to perform simple calculations using variables to store data.	Met by performing labs, and responding to quiz questions during weeks 4 & 5.
Apply the syntax and logic to declare variables using numeric data types.	Met by performing lab exercises, and responding to quiz questions during week 6 and throughout the remainder of the semester.
Demonstrate use of operators to write numeric expressions.	Met by performing lab exercises, and responding to quiz questions during week 6 and throughout the remainder of the semester.
Convert numbers to a different type using casting.	Met by performing lab exercises, and responding to quiz questions during week 6 and throughout the remainder of the semester.
Demonstrate familiarity with C++ documentation, programming style, and naming conventions.	Met by performing lab exercises, and responding to quiz questions during weeks 6 through 8.
Troubleshoot syntax errors, runtime errors, and logic errors.	Met by performing lab exercises, and responding to quiz questions during weeks 6 through 8.
Apply correctly the syntax and logic to declare type.	Labs and Quizzes during week 8 and throughout the remainder of the semester.
Develop Boolean expressions using comparison operators, implement selection control using one-way, two-way, and nested if statements.	Labs and Quizzes during week 8 and throughout the remainder of the semester.

M.	Topical Timeline (Subject to Change):

Computers, programs, and C++

Computer basics, programs, and operating systems

The history of C++

C++ program for console output

C++ program-development cycle

Visual C++

Command-line tools on Windows	.

Command-line tools on UNIX	.

Elementary programming

Perform simple calculations

Input from the keyboard

Identifiers to name elements in the program

Variables to store data

Assignment statements and assignment expressions

Constants using the const keyword and #define directive

Numeric data types

Numeric expressions

Convert numbers to a different type using casting

Char type

Program computations

C++ documentation, programming style, and naming conventions

Syntax errors, runtime errors, and logic errors

Debug logic errors

Selections

Boolean expressions

Comparison operators

One-way if statements

Two-way if statements

Nested if statements

Common errors in if statements

Selection statements for a variety of examples

Rand function and srand function

Logical operators

Selection statements with combined conditions

Selection control using switch statements

The conditional operator

Stream manipulators

Operator precedence and operator associativity

Loops

Executing statements repeatedly using a while loop

Loop with the user confirmation

Loop with a sentinel value

Input redirection

Do-while statements

For statements

Nested loops

Minimizing numerical errors

GCD, Future Tuition, Print Pyramid, Prime Number

Control with break and continue

Function basics

Define functions

Returning functions

Void functions

Arguments

Modular code

Ambiguous overloading

Prototypes for function headers

Header files for reusing functions

Implementation

Functions for generating random characters

Applications using the C++ mathematical functions

Applications using the C++ character functions

Advanced function features

Arguments by value

Arguments by reference

Pass-by-value and pass-by-reference

Prevent parameters from being modified accidentally

The scope of local and global variables

Runtime efficiency for short functions

Functions with default arguments

Functions using stepwise refinement

Single-dimensional arrays

Arrays in programming

Declare arrays

Access array elements using indexed variables

Initialize the values in an array

Common array operations

Functions with array arguments

Functions involving array parameters

Search elements

Linear or binary search algorithm

Sort an array using the selection sort

Sort an array using the insertion sort

Process strings using C-strings

Multidimensional arrays

Data using two-dimensional arrays

Access array elements in a two-dimensional array

Row and column indexes

Process two-dimensional arrays

Pass two-dimensional arrays to functions

Declare multidimensional arrays

N.	Course Assignments:

Homework: Selected problems and questions for each chapter must be completed and turned in as homework.

Labs: Selected labs will be completed for each chapter throughout the semester

Tests: A test will be given at the end of each chapter during the semester.

Final: There will be a comprehensive final at the end of the semester.

O.	Recommended Grading Scale:

NUMERIC	GRADE	POINTS	DEFINITION
93–100	A	4.00	Superior
90–92	A-	3.67	Superior
87–89	B+	3.33	Above Average
83–86	B	3.00	Above Average
80–82	B-	2.67	Above Average
77–79	C+	2.33	Average
73–76	C	2.00	Average
70-72	C-	1.67	Below Average
67–69	D+	1.33	Below Average
63-66	D	1.00	Below Average
60-62	D-	0.67	Poor
00-59	F	0.00	Failure

P.	Grading and Testing Guidelines:

Click here to enter text.

Q.	Examination Policy:

Click here to enter text.

R.	Class Attendance and Homework Make-Up Policy:

Click here to enter text.

S.	Classroom Expectations:

Click here to enter text.

T.	College Procedures/Policies:

Important information regarding College Procedures and Policies can be found on the syllabus supplement located at

http://catalog.ncstatecollege.edu/mime/download.pdf?catoid=5&ftype=2&foid=3