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.



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



Proficiency assessed by

(a) an ability to apply knowledge of Mathematics, science, and engineering


HW Problems, Exams

(b) an ability to design and conduct experiments and interpret data



(c) an ability to design a system, component or process to meet 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



(e) an ability to identify, formulate, and solve ECE problems


HW Problems, Exams

(f) an understanding of professional and ethical responsibility



(g) an ability to communicate in written and oral form


HW Problems and reports

(h) the broad education necessary to understand the impact of 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 learning


Home-work, lecture on advanced topics

(j) a knowledge of contemporary issues



(k) an ability to use the techniques, skills, and modern engineering tools necessary for electrical and computer engineering practice


HW Problems, Exams

Basic disciplines in Electrical Engineering



Depth in Electrical Engineering



Basic disciplines in Computer Engineering


HW Problems, Exams

Depth in Computer Engineering


HW Problems, Exams

Laboratory equipment and software tools


HW Problems, Mid-Term Exams

Variety of instruction formats


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. Home-Work 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
 June, 2011