The University of Maryland Department of Electrical and Computer Engineering

Search
 
» INFO FOR:   Prospective Students | Current Students | Alumni | Industry & Government | Faculty & Staff | Family | Media
 
 
 
 
 
 
 
 
 
  The A. James Clark School of Engineering

Directory

ECE Webmail

Help Desk

University Libraries

ECE Site Feedback






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

  1. Ability to use UNIX as the operating system for text editing, file management, and programming.
  2. Elementary programming concepts: program selection, repetition, and functions
  3. Fundamental concepts in data structure: data type, array, string, search, and sort.
  4. Ability to analyze a given code, debug, and predict its output.
  5. Ability to write a code to implement algorithms or solve problems.
Topics Covered
  1. Programming environment in UNIX
  2. Problem solving by programming
  3. Data types and variable scopes
  4. Program selections (if, if-else, switch)
  5. Repetition (for, do-while)
  6. Functions
  7. Formatted input/output, file input/output
  8. Arrays
  9. 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.

 

  1. 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
  2. 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
      Emphasis: SIGNIFICANT
  3. 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
  4. 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
  5. 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
      Emphasis: LITTLE
  6. 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
      Emphasis: MODERATE

↑ 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

  1. Learn how to develop robust and extensible software through effective software engineering practices.
  2. Learn about object-oriented design and complex data structures.
  3. Learn the skills to self-teach other software development concepts in the future.
Topics Covered
  1. Advanced programming concepts: coding conventions and style, unit testing, separate compilation and makefiles
  2. Pointers
  3. Dynamic memory allocation
  4. Structures
  5. Linked list
  6. Graphs and applications
  7. Other dynamic data structures
  8. Abstract data types
  9. Object-oriented design
  10. 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.
  1. 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
  2. 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
      Emphasis: SIGNIFICANT
  3. 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
  4. 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
      Emphasis: SIGNIFICANT
  5. 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
      Emphasis: SIGNIFICANT

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

  • None.

Syllabus Prepared By and Date
Dr. Gomez, March 2011.

Course Objectives

  1. To be able to intuitively understand electrical quantities and their relationships through direct experimentation..
  2. To understand the use of passive and active elements in circuit design.
  3. To be able to use mathematical tools for describing simple circuits.
  4. To be able to get information, have the ability to replicate and modify circuit ideas on the web.
  5. To be able to communicate scientific concepts in a coherent and intellectually sophisticated level.
  6. To be able to meaningfully interact with peers and develop teamwork skills to complete specific tasks.
Topics Covered
  1. Laboratory Safety and Electronic Building Equipment
  2. Sensors and Amplification, Signal Transduction
  3. Building and use of the digital multimeter
  4. Voltage, Current , Circuit Laws
  5. Terminal Relations for Resistors, Capacitors and Inductors
  6. Breadboarding techniques
  7. Bipolar Junction Transistors, Field Effect Transistors
  8. Oscillator Circuitry and Filters
  9. The Operational Amplifier
  10. 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.
  1. 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
  2. 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
  3. 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
      Emphasis: SIGNIFICANT
  4. 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
  5. Understanding of professional and ethical responsibility
      Relevant Content: Safety and Honor discussed
      Method of Evaluation: Classroom performance
      Level of Coverage: LITTLE
  6. 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
  7. 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
  8. 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
      Emphasis: MODERATE
  9. 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
      Emphasis: MODERATE

↑ Back to Top




 
© Copyright 2005-2008, University of Maryland
University of Maryland A. James Clark School of Engineering Department of Electrical and Computer Engineering