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.
14:440:127 or the equivalent
14:332:254 Programming Methodology I Laboratory
1. Concepts of loops, arrays, basic mathematical programming.
2. Knowledge of C++ or equivalent.
Deitel & Deitel, C++ How to Program (7th edition), Prentice Hall, 2009.
None
To develop basic skills in efficient design of C++ algorithms and programming.
A student who successfully fulfills the course requirements will have demonstrated: a basic knowledge of C++ design, implementation of simple C++ programs.
- 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 engineering |
H |
HW Problems, 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 desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability |
N |
|
(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 electrical and computer engineering solutions in a global, economic, environmental, and societal context |
N |
|
(i) a recognition of the need for, and an ability to engage in life-long learning |
S |
Home-work, lecture on advanced topics |
(j) a knowledge of contemporary issues |
N |
|
(k) an ability to use the techniques, skills, and modern engineering tools necessary for electrical and computer engineering practice |
H |
HW Problems, 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 |
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
There is an associated lab course which requires C++ programming.
There is an associated lab course which is a co-requisite.
Moderate design experience in constructing C++ programs as needed.
1. Home-Work in programming
(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