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
Certificate Program - New Media Technology
General Education Outcomes: Below is a listing of General Education Outcome(s) that this course supports.
-
Communicate effectively in various forms
-
Use analytical reasoning to identify issues or problems and evaluate evidence in order to make informed decisions
-
Reason quantitatively and mathematically as required in their fields of interest and in everyday life
-
Use information management and technology skills effectively for academic research and lifelong learning
Course-specific 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).
-
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.
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.