14:332:252 - Programming Methodology I
Course Catalog Description: 14:332:252 - Programming Methodology I (3)
Basics of programming and data structures in C++. Basic data types: arrays, pointers,
enumerations, structures. Basic programming structures: loops, functions, recursion. Object
oriented design: classes, inheritance, overloading, and polymorphism; Abstract Data Types: lists,
linked lists, stacks, and queues; Introduction to algorithm analysis: searching and sorting.
Pre-Requisite Courses: 14:440:127 or the equivalent
Co-Requisite Courses: 14:332:254 Programming Methodology I Laboratory
Pre-Requisite by Topic:
1. Concepts of loops, arrays, basic mathematical programming.
2. Knowledge of C++ or equivalent.
Textbook & Materials:
Deitel & Deitel, C++ How to Program (7th edition), Prentice Hall, 2009.
References: None
Overall Educational Objective:
To develop basic skills in efficient design of C++ algorithms and programming.
Course Learning Outcomes:
A student who successfully fulfills the course requirements will have demonstrated: a basic
knowledge of C++ design, implementation of simple C++ programs.
How Course Outcomes are Assessed:
• HW Problems (15 %)
• QUIZ (10%)
• Two Mid-Term Exams (50 %)
• Final Exam (25 %)
N = none S = Supportive H = highly related
Outcome Level Proficiency
assessed by
(a) an ability to apply knowledge of Mathematics, science, and H HW Problems,
engineering Exams
(b) an ability to design and conduct experiments and interpret data N
(c) an ability to design a system, component or process to meet N
desired needs within realistic constraints such as economic,
environmental, social, political, ethical, health and safety,
manufacturability, and sustainability
(d) an ability to function as part of a multi-disciplinary team N
(e) an ability to identify, formulate, and solve ECE problems H HW Problems,
Exams
(f) an understanding of professional and ethical responsibility N
(g) an ability to communicate in written and oral form S HW Problems and
reports
(h) the broad education necessary to understand the impact of N
electrical and computer engineering solutions in a global, economic,
environmental, and societal context
(i) a recognition of the need for, and an ability to engage in life-long S Home-work, lecture
learning on advanced topics
(j) a knowledge of contemporary issues N
(k) an ability to use the techniques, skills, and modern engineering H HW Problems,
tools necessary for electrical and computer engineering practice Exams
Basic disciplines in Electrical Engineering N
Depth in Electrical Engineering N
Basic disciplines in Computer Engineering H HW Problems,
Exams
Depth in Computer Engineering S HW Problems,
Exams
Laboratory equipment and software tools H HW Problems, Mid-
Term Exams
Variety of instruction formats S Lecture, office hour
discussions, lab
lectures
Topics Covered week by week:
Week 1: Intro to C++, basic data types
Week 2: Control structures, looping
Week 3: Functions
Week 4: Arrays, 2D arrays
Week 5: Basic searching and sorting
Week 6: Pointers, dynamic memory allocation
Week 7: Structures, and linked lists
Week 8: Introduction to classes and object oriented design
Week 9: Basic class design
Week 10: Overloading
Week 11: Inheritance
Week 12: Polymorphism
Week 13: Abstract data types: lists
Week 14: Linked list, introduction to stacks and queues
Week 15: Standard Template Library (STL)
Week 16: Review and Final Exam
Computer Usage:
There is an associated lab course which requires C++ programming.
Laboratory Experiences:
There is an associated lab course which is a co-requisite.
Design Experiences:
Moderate design experience in constructing C++ programs as needed.
Independent Learning Experiences:
1. Homework in programming
Contribution to the Professional Component:
(a) College-level mathematics and basic sciences: 0.25 credit hours
(b) Engineering Topics (Science and/or Design): 2.75 credit hours
(c) General Education: 0 credit hours
Total credits: 3
Prepared by: Y. Zhang
Date: June 2011