|
Course Descriptions
ENEE140 Introduction to Programming Concepts for Engineers, 2 credits
Course Description
Principles of software development, high level languages, input/output, data types and variables, operators and expressions, program selection, repetition, functions, arrays, strings, introduction to algorithms, software projects, debugging, documentation.
Pre-Requisite
None
Co-Requisite
None
Textbook(s)
- Paul Davies, The Indispensable Guide to C with Engineering Applications, Addison-Wesley.
- B. Kernighan and D. Ritchie, The C Programming Language, Prentice Hall.
Other Required Material(s)
- Gang Qu, Laboratory manual for ENEE 140 (available in university book stores and engineering copy center).
Syllabus Prepared By and Date
Dr. Qu, February 2011.
Course Objectives
- Ability to use UNIX as the operating system for text editing, file management, and programming.
- Elementary programming concepts: program selection, repetition, and functions
- Fundamental concepts in data structure: data type, array, string, search, and sort.
- Ability to analyze a given code, debug, and predict its output.
- Ability to write a code to implement algorithms or solve problems.
Topics Covered
- Programming environment in UNIX
- Problem solving by programming
- Data types and variable scopes
- Program selections (if, if-else, switch)
- Repetition (for, do-while)
- Functions
- Formatted input/output, file input/output
- Arrays
- Strings
Class/Lab Schedule
1.5 hours lecture, 2 hours laboratory
Relationship of Course Objects to Program Outcomes
| SIGNIFICANT |
This is an outcome/theme that frequently reoccurs in a course and is clearly present more than 50% of the time/effort in all sections of the course. |
| MODERATE |
This is an outcome that occurs one or more times in a course, but definitely less than 50% of the time. Still, the emphasis is such that it would be reasonable to assess at least one dimension of this outcome in this course if necessary. |
| LITTLE |
This is an outcome that should occur at least once in a class, irrespective of who teaches it, but it would not be reasonable to assess the outcome due to a lack of required depth of coverage across all sections of the course. |
| NONE |
Absolutely, positively not required to be covered in a class. |
- Ability to design and conduct experiments, as well as analyze and interpret data
Relevant Content: Write program to read in and process data and generate the output with the correct values and in the required fromate.
Method of Evaluation: Homework, quiz, project, and exams
Level of Coverage: SIGNIFICANT
- Ability to design a system, component, or process to meet desired needs
Relevant Content: Implement a given algorithm and develop problem solving strategy in programming language C with the elementary concepts learned from the course.
Method of Evaluation: Homework and project
- Ability to identify, formulate, and solve engineering problems
Relevant Content: Use problems from various engineering disciplines as examples to show the basic procedure of problem solving by programming
Method of Evaluation: Homework and project
Level of Coverage: MODERATE
- Understanding of professional and ethical responsibility
Relevant Content: Educate students the ethical concerns in software development and emphasize the importance of completing homework and project assignments individually
Method of Evaluation: Use software tools to check the similarity among codes to detect the occurrence of copying
Level of Coverage: LITTLE
- Recognition of the need for, and an ability to engage in life-long learning
Relevant Content: Lecture discussion on the continuous change of programming languages and the need of the ability to self-teach new materials.
Method of Evaluation: Reading and project assignments
- Ability to use the techniques, skills, and modern engineering tools necessary for engineering practice
Relevant Content: Students learn how to program under the UNIX environment on the computers in the lab, how to access the system remotely by Internet, and how to interact between windows and UNIX.
Method of Evaluation: Lab practice and quiz
↑ Back to Top
ENEE150 Intermediate Programming Concepts for Engineers, 3 credits
Course Description
This course covers intermediate principles of software development, including high level languages, object-oriented design, documentation, data structures, graphs, dynamic memory allocation, and software development for applications in electrical and computer engineering.
Programs will use the C language under a UNIX environment. Software development projects will involve relevant electrical engineering topics, such as analysis of digital and analog circuits, cryptography, bio-informatics, embedded software, game programming, image processing, and wireless sensor networks.
Pre-Requisite
ENEE 140, CMSC 131, an acceptable AP Java score, or an acceptable grade on a departmental placement exam.
Co-Requisite
None
Textbook(s)
- B. W. Kernighan and D. M. Ritchie. The C Programming Language.
Prentice Hall, second edition, 1988.
- (2) M. Loukides and A. Oram. .Programming with GNU Software.
O’Reilly and Associates, 2001.
Other Required Material(s)
- Course lecture notes and handouts.
Syllabus Prepared By and Date
Drs. Yeung and Bhattacharyya, January 2011.
Course Objectives
- Learn how to develop robust and extensible software through effective software engineering practices.
- Learn about object-oriented design and complex data structures.
- Learn the skills to self-teach other software development concepts in the future.
Topics Covered
- Advanced programming concepts: coding conventions and style, unit testing, separate compilation and makefiles
- Pointers
- Dynamic memory allocation
- Structures
- Linked list
- Graphs and applications
- Other dynamic data structures
- Abstract data types
- Object-oriented design
- The Unified Modeling language (UML)
Class/Lab Schedule
3 hours lecture, 1 hour recitation
Relationship of Course Objects to Program Outcomes
| SIGNIFICANT |
This is an outcome/theme that frequently reoccurs in a course and is clearly present more than 50% of the time/effort in all sections of the course. |
| MODERATE |
This is an outcome that occurs one or more times in a course, but definitely less than 50% of the time. Still, the emphasis is such that it would be reasonable to assess at least one dimension of this outcome in this course if necessary. |
| LITTLE |
This is an outcome that should occur at least once in a class, irrespective of who teaches it, but it would not be reasonable to assess the outcome due to a lack of required depth of coverage across all sections of the course. |
| NONE |
Absolutely, positively not required to be covered in a class. |
- Ability to apply knowledge of mathematics, science, and engineering
Relevant Content: Translate elementary math formulas and solutions to science and engineering problems into programs/functions.
Method of Evaluation: Homework assignments and projects
Level of Coverage: MODERATE
- Ability to design a system, component, or process to meet desired needs
Relevant Content: Develop programs based on instructions (project description) to meet desired outcomes (matching the output from a MASTER program).
Method of Evaluation: homework assignments, projects, and exams
- Ability to identify, formulate, and solve engineering problems
Relevant Content: Given an engineering problem, write computer program to solve it.
Method of Evaluation: Projects
Level of Coverage: SIGNIFICANT
- Recognition of the need for, and an ability to engage in life-long learning
Relevant Content: Recognition that knowledge of C programming will enable students to learn many other languages (their purpose in this class is not only to master C, but also to obtain the skills to teach themselves other languages).
Method of Evaluation: Homework assignments, projects, and exams
- Ability to use the techniques, skills, and modern engineering tools necessary for engineering practice
Relevant Content: Programming assignments are written to reflect user-friendly interfaces and robust error handling, ease of maintenance and are intended to instill in the students the appreciation for and the ability to implement the above.
Method of Evaluation: Projects
↑ Back to Top
ENEE181 Explore Electronics, 1 credit
Course Description
This is a highly structured hands-on course designed to introduce the basics of electronic circuitry. It will introduce how electrical signals are collected, processed, amplified and used in everyday life. Students will design and build electronic devices (some of which they can keep). They will be exposed to the rudiments of dc and ac circuits, passive electronic devices, transistors, op-amps and other integrated circuits. They will complete special projects in one or more of the following areas: power and energy generation, sensing and control, and communications.
Pre-Requisite
None.
Co-Requisite
MATH140
Textbook(s)
- Getting Started in Electronics, Forrest Mims III 2003. (Recommended)
- “The Art of Electronics”, Horowitz and Hill. (Recommended)
- Make Magazine: Getting Started with Arduino, Massimo Banzi. (Recommended)
Other Required Material(s)
Syllabus Prepared By and Date
Dr. Gomez, March 2011.
Course Objectives
- To be able to intuitively understand electrical quantities and their relationships through direct experimentation..
- To understand the use of passive and active elements in circuit design.
- To be able to use mathematical tools for describing simple circuits.
- To be able to get information, have the ability to replicate and modify circuit ideas on the web.
- To be able to communicate scientific concepts in a coherent and intellectually sophisticated level.
- To be able to meaningfully interact with peers and develop teamwork skills to complete specific tasks.
Topics Covered
- Laboratory Safety and Electronic Building Equipment
- Sensors and Amplification, Signal Transduction
- Building and use of the digital multimeter
- Voltage, Current , Circuit Laws
- Terminal Relations for Resistors, Capacitors and Inductors
- Breadboarding techniques
- Bipolar Junction Transistors, Field Effect Transistors
- Oscillator Circuitry and Filters
- The Operational Amplifier
- Special Projects and Real World Applications
Class/Lab Schedule
3 hours laboratory
Relationship of Course Objects to Program Outcomes
| SIGNIFICANT |
This is an outcome/theme that frequently reoccurs in a course and is clearly present more than 50% of the time/effort in all sections of the course. |
| MODERATE |
This is an outcome that occurs one or more times in a course, but definitely less than 50% of the time. Still, the emphasis is such that it would be reasonable to assess at least one dimension of this outcome in this course if necessary. |
| LITTLE |
This is an outcome that should occur at least once in a class, irrespective of who teaches it, but it would not be reasonable to assess the outcome due to a lack of required depth of coverage across all sections of the course. |
| NONE |
Absolutely, positively not required to be covered in a class. |
- Ability to apply knowledge of mathematics, science, and engineering
Relevant Content: Application of algebra, differential and integral calculus and complex numbers to circuit analysis; application of elementary physics to the understanding of currents, voltages and Ohm’s Law
Method of Evaluation: Completion of project on circuit components and quantities
Level of Coverage: SIGNIFICANT
- Ability to design and conduct experiments, as well as analyze and interpret data
Relevant Content: Hands on experimentation on basic circuits
Method of Evaluation: Completed projects
Level of Coverage: SIGNIFICANT
- Ability to design a system, component, or process to meet desired needs
Relevant Content: Students are asked to modify existing designs and/or design circuits to implement simple sensing applications and feedback
Method of Evaluation: Completed projects
- Ability to identify, formulate, and solve engineering problems
Relevant Content: Formulate design requirements into math problems, solve them analytically and numerically, and compare results with circuit simulation
Method of Evaluation: Homework
Level of Coverage: MODERATE
- Understanding of professional and ethical responsibility
Relevant Content: Safety and Honor discussed
Method of Evaluation: Classroom performance
Level of Coverage: LITTLE
- Ability to communicate effectively
Relevant Content: Students are expected to use written communication skills in laboratory work. Additionally, they are required to give 20-minute presentations on their final projects, where they will elaborate on the physical/mathematical principles behind their ideas.
Method of Evaluation: Written assignments and term presentation
Level of Coverage: MODERATE
- Broad education necessary to understand the impact of engineering solutions in a global and societal context
Relevant Content: Some special projects, such as, power metering, generation and applications to medical diagnosis have relevance to developing nations
Method of Evaluation: N/A
Level of Coverage: MODERATE
- Recognition of the need for, and an ability to engage in life-long learning
Relevant Content: Projects and research, search of spec sheets, etc.
Method of Evaluation: N/A
- Ability to use the techniques, skills, and modern engineering tools necessary for engineering practice
Relevant Content: Develop intuition on circuit properties and practical techniques, plus computational tools such as Excel, MATLAB and PSpice, to analyze and design electric circuits
Method of Evaluation: Reports
↑ Back to Top
|