Course Syllabus

ECE 206/L – Computer Programming for Electrical Engineers and Laboratory

Department of Electrical & Computer Engineering

1. Course Number and Name: ECE 206/L – Computer Programming for Electrical Engineers and Laboratory

2. Credit Units/Contact Hours: 3/5

3. Course Coordinator: George Law

4. Text, Reference

Dale, Weem, and Headington,

Programming and Problem Solving with C++, 4th ed., Jones and Bartlett Publishers, 2005.

Software:

NXC, BRICX Command Center (see Internet Resources below);

Visual.net, Visio 2007

http://msdn06.e-academy.com/elms/Storefront/Home.aspx?campus=csun_e_ceng

Internet Resources:

http://bricxcc.sourceforge.net (BRICX command center download )

http://bricxcc.sourceforge.net/nbc/ (NBC/NXC tutorial, guide, sample)

http://inside.catlin.edu/site/msrobotics/html/downloads.html (NXT Tutorial)

http://bricxcc.sourceforge.net/nbc/nxcdoc/NXC_tutorial.pdf (NXC Tutorial)

http://www.legoengineering.com/ (Lego NXT resources)

www.uaerobotchallenge.com/Tutorials/NXT%20Tutorial.pdf (NXC Tutorial)

5. Specific Course Information

a. Course Description

Introduction to computer programming with emphasis on EE problem solving. Major topics include problem solving, algorithm development, hardware integration, and programming in NQC and C++. 2 hours lecture per week; one 3-hour lab per week.

b. Prerequisites by Topic

Students must have completed differential calculus (MATH150A).

c. Required Course

6. Specific Goals for the Course

a. Specific Outcomes of Instructions – After completing this course the students should be able to:

1.. To develop the students’ problem solving skills using the computer by way of NXT, NXC and C++ programming.

2. To provide early exposure to Electrical Engineering problem solving using computer.

3. To integrate software and hardware in system design.

b. Relationship to Student Outcomes

This course supports the achievement of the following student outcomes:

a. An ability to apply knowledge of math, science, and engineering to the analysis of electrical engineering problems.

e. An ability to identify, formulate and solve electrical engineering problems.

7. Topics Covered/Course Outline

1. Introduction to Computers/Microcontrollers

2. Engineering problem solving methodology

3. Flowcharting and Algorithm Development

4. NXT programming

5. NXC Programming

6. C++ Programming

7. Variables, Data Types, Operators, Expressions

8. Loops

9. Sensors and Control structures

10. Arrays, Strings

11. Functions, scope, and parameters

12. Input/Output

13. File

14. Miscellaneous Topics/Review

Prepared by:

George Law, Professor of Electrical and Computer Engineering, November 2011

Ali Amini, Professor of Electrical and Computer Engineering, March 2013