ET-575: Introduction to C++ Programming Design and Implementation

Course Information

Course, prefix, number, & title: ET-575 Introduction to C++ Programming Design and Implementation

Hours (Class, recitation, Laboratory, studio): 2 Class Hours, 2 laboratory hours

Credits: 3

Pre-requisites (if any): ET-502 or ET-574 or

Co-requisites (if any): MA-321 or above as determined by CUNY Math Placement Examination

Course Description in college catalog:

This foundation course provides a general understanding of the use and development of computer software applications in fields such as science, mathematics, and business using a high level computer language. The course will concentrate on assessing the practical requirements of a software package and developing applications in C++, which is a high level computer language that teaches the basic skills necessary for implementing it in a variety of real world applications. Topics include the analysis and use of concepts such as: primitive data types and their operators, basic I/O, control statements, decision making, looping, subprograms, arrays, strings and computer ethics. Each student will have a computer platform at his/her disposal from which he/she will design, develop, implement and test programs, while evaluating the interactions between a user and the computer.

Academic programs for which this course serves as a requirement or an elective:

A.A.S. Computer Engineering Technology

A.A.S. Electronic Engineering Technology

A.A.S. Internet and Information Technology

A.S. Computer Science and Information Security

A.S. Engineering Science

Certificate Program - New Media Technology

General Education Outcomes: Below is a listing of General Education Outcome(s) that this course supports.

  1. Communicate effectively in various forms

  2. Use analytical reasoning to identify issues or problems and evaluate evidence in order to make informed decisions

  3. Reason quantitatively and mathematically as required in their fields of interest and in everyday life

  4. Use information management and technology skills effectively for academic research and lifelong learning

Course-specific student learning outcomes:

Course objectives/expected student learning outcomes
Course Objectives Learning Outcomes
Students will use information acquisition tools including software packages, along with Web browsers and the internet to gather, interpret and assess information. Gather, interpret, and assess information from a variety of sources and points of view.
Integrate skills in solving some of their selected programming problems in areas such as science, mathematics, business, and entertainment; use analytical reasoning and develop critical thinking skills by solving computer programming problems in realistic. Evaluate evidence and arguments critically or analytically.
Apply written, oral and graphical arguments in both technical and nontechnical environments to support their conclusions in solving some of their real life programming applications. Produce well-reasoned written or oral arguments using evidence to support conclusions
Write brief software application guides to accompany the applications, which they have developed situations; provide the opportunity for users to test the programs and provide feedback to the student developer. Identify and apply the fundamental concepts and methods of a discipline or interdisciplinary field exploring the scientific world, including, but not limited to: computer science, history of science, life and physical sciences, linguistics, logic, mathematics, psychology, statistics, and technology-related studies.
Evaluate the feedback and modify their applications as necessary to accommodate the feedback comments. Demonstrate how tools of science, mathematics, technology, or formal analysis can be used to analyze problems and develop solutions.

Program-specific outcomes

ABET Criterion 3 Student Outcomes addressed by ET-575:

Student Outcome (1) - an ability to apply knowledge, techniques, skills and modern tools of mathematics, science, engineering, and technology to solve well-defined engineering problems appropriate to the discipline;

 

  • Performance Indicator ETCT1-2 Solve applied problems by employing computer programming skills and associated software including circuit simulation software.
  • Performance Indicator ETCT1-5 Analyze systems in a mathematical environment at or above the level of algebra and trigonometry.

Other program outcomes (if applicable).

  1. Integrate knowledge and skills in the program of study


Supplemental Information


ET 575 Lecture Course Topics- Table of Week Numbers and Lecture Course Topics:


Week Lecture Topics
1 Introduction, Console I/O
2 Strings, Indexing, String Functions
3 Variables, Casting
4 Expressions, Operators, Maths
5 Exam I; Loops, While, For, Do-While, Break, Continue Factorial, Summation, Factoring, Prime Numbers, Digit Extraction
6 Nested Loops, Nested Loop Graphics
7 Functions, Variable Scope/Lifetime, Automatic Type Conversion
8 Exam II, Recursion, Factorial, Euclid GCD, Fibonacci
9 Introduction to Recursion
10 Overloading, References & Pointers, Predefined Functions, Random Numbers
11 Exam III, Memory Types (automatic, static, dynamic), Pointers
12 Static Arrays, Arrays as pointers, Pointer Arithmetic, Partially Filled Arrays
13 Linear vs Binary Search, Bubble Sort, Insertion Sort, Selection Sort
14 File I/O, String Parsing
15 Final Exam

ET 575 Lab Course Topics- Tables of Week Numbers and Lab Course Topics:


Week Laboratory Experiment Number and Topics
1 Lab 1: Console I/O, Getline
2 Lab 2: Strings, String Functions
3 Lab 3: Simple mathematics; Casting; Introduction to Problem Solving
4 Lab 4: Orders of Precedence; Expression Evaluation; Increment Postfix/Prefix
5 Lab 5: Decision Making; Complex Conditions
6 Lab 6: Simple Algorithms; Summation, Factorial; Factoring, Digit Extraction
7 Lab 7: Prime Numbers, GCD; Applications of Nested Loops
8 Lab 8: Functions with Prime, Factoring etc.
9 Lab 9: Recursive functions with Exponentiation, Euclid’s GCD, Fibonacci
10 Lab 10: Pass by Value vs. Reference; Swap, Random Numbers; Helper Functions
11 Lab 11: Array Access and Manipulation
12 Lab 12: More Array Manipulation; Random Numbers and Arrays 1D N-Queens map
13 Final Project Preparation
14 Final Project Presentation

Methods by which student learning will be assessed and evaluated; describe the types of methods to be employed; note whether certain methods are required for all sections:

Assessment: Methods used to determine the success of students (whether or not they achieved the goals and developed the competencies. Classroom assessment tools may include paper and pen tests, oral questions, portfolio, and other options)

Assessments include:

  • Weekly Homework Assignments
  • Weekly Quiz
  • Extra Credit Projects
  • 2 Midterm Examinations
  • Final Exam

Academic Integrity policy (department or College):
Academic honesty is expected of all students. Any violation of academic integrity is taken extremely seriously. All assignments and projects must be the original work of the student or teammates. Plagiarism will not be tolerated. Any questions regarding academic integrity should be brought to the attention of the instructor. The following is the Queensborough Community College Policy on Academic Integrity: "It is the official policy of the College that all acts or attempted acts that are violations of Academic Integrity be reported to the Office of Student Affairs. At the faculty member's discretion and with the concurrence of the student or students involved, some cases though reported to the Office of Student Affairs may be resolved within the confines of the course and department. The instructor has the authority to adjust the offender's grade as deemed appropriate, including assigning an F to the assignment or exercise or, in more serious cases, an F to the student for the entire course." Read the University's policy on Academic Integrity opens in a new window(PDF).

Disabilities
Any student who feels that he or she may need an accommodation based upon the impact of a disability should contact the Office of Accessibility Services in Science Building, Room S-132, 718-631-6257, to coordinate reasonable accommodations for students with documented disabilities. You can visit the Office of Accessibility Services website.

Campus Cultural Centers

Kupferberg Holocaust Center exterior lit up at nightOpens in a new window
Kupferberg Holocaust Center Opens in a new window

The KHC uses the lessons of the Holocaust to educate current and future generations about the ramifications of unbridled prejudice, racism and stereotyping.

Russian Ballet performing at the Queensborough Performing Arts CenterOpens in a new window
QPAC: Performing Arts CenterOpens in a new window

QPAC is an invaluable entertainment company in this region with a growing national reputation. The arts at QPAC continues to play a vital role in transforming lives and building stronger communities.

Queensborough Art Gallery exterior in the afternoonOpens in a new window
QCC Art Gallery

The QCC Art Gallery of the City University of New York is a vital educational and cultural resource for Queensborough Community College, the Borough of Queens and the surrounding communities.