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 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

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
Date: 
 June, 2011