ECE 198 KL

ECE 198 KL - Intro to Computer Eng II (future ECE 220)

Fall 2014

TitleRubricSectionCRNTypeHoursTimesDaysLocationInstructor
Intro to Computer Eng IIECE198KL61431LEC41300 - 1350 M W F  1002 Electrical & Computer Eng Bldg Sanjay Patel
Syed Hasan

Official Description

Lectures and discussions relating to new areas of interest. Course Information: May be repeated in the same or separate terms for unlimited hours if topics vary. See class schedule for topics and prerequisites.

Section Description

Topic: Introduction to Computer Engineering, II. This course (ECE198KL), the second in our new sequence, will focus on C programming, where each new C concept will be related to the fundamental concepts described in ECE198JL. We will cover basic programming concepts, functions, arrays, pointers, I/O, recursion, simple data structures, and concepts in object-oriented programming. A bottom-up understanding of computing systems has proven more successful in helping students to understand advanced concepts in computing that follow in the ECE curriculum.

Course Director

Detailed Description and Outline

  • Assembly language programming with subroutines and stacks
  • Basic programming concepts in C
  • Functions
  • Arrays
  • Pointers
  • I/O
  • Recursion
  • Simple data structures
  • Concepts in object-oriented programming

Computer Usage

Weekly programming assignments are done on Linux computers.

Texts

Yale N. Patt and Sanjay J. Patel, Introduction to Computing Systems: from bits and gates to C and beyond, 2nd Edition, McGraw-Hill, 2004.

ABET Category

Engineering Science: 75%

Math/Basic Science: 25%

Course Goals

This course focuses on C programming, where each new C concept is introduced based on the fundamental concepts described in ECE198JL. We cover basic programming concepts, functions, arrays, pointers, I/O, recursion, simple data structures, and concepts in object-oriented programming. A bottom-up understanding of computing systems has proven more successful in helping students to understand advanced concepts in computing that follow in the ECE curriculum.

Instructional Objectives

After completing this course, students should

  • Understand how statements written in high-level language such as C are transformed into machine code. Be able to perform such a transformation manually. (a, k)
  • Understand the idea of scope and storage for variables, and the role of types in high-level languages in providing information to the compiler. (a)
  • Understand the stack abstraction an the notion of a calling convention and its role in supporting the transfer of information between a caller and a subroutine. (a, i)
  • Understand the concepts of arrays and pointers and their representations in memory. Be able to use arrays and pointers for problem solving. (a, k)
  • Be able to develop and use data structures for representing and aggregating information (a, b, e)
  • Be able to use dynamic memory allocation for storing values and object sin memory. (e, k)
  • Understand the value of recursion as a problem-solving tool and be able to apply it for solving math and logical problems. (a, b)
  • Be able to test and debug programs written in C using standard debugging tools and techniques. (b, e, h, k)
  • Be familiar with the concepts of object-oriented programming. (j)

Last updated

10/13/2014