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