1 / 15

ECE230 Course Introduction

ECE230 Lectures Series. ECE230 Course Introduction. Ying Wu Electrical & Computer Engineering Northwestern University yingwu@ece.northwestern.edu. Course Personnel. Instructor: Ying Wu TA: Jia Wang (j-wang3@northwestern.edu)

bian
Download Presentation

ECE230 Course Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ECE230 Lectures Series ECE230 Course Introduction Ying Wu Electrical & Computer Engineering Northwestern University yingwu@ece.northwestern.edu

  2. Course Personnel • Instructor: Ying Wu • TA: Jia Wang (j-wang3@northwestern.edu) • TA: Lei Yang (l-yang@northwestern.edu)

  3. Course Information • Lectures • M,T,W,F 1-1:50pm, Tech. LR4 • Tuesday meetings: TA sessions • Text • C++ How to Program, 3rd (or 4th) Edition, by H.M. Deitel and P.J. Deitel, Prentice Hall. • Course Web • http://www.courses.nwu.edu/ (NU Black board) using your ID • Grading • Machine Problems (MPs): 30% • Midterm exam: 30% • Final exam: 40%

  4. Why should we study programming? • Think about your new role in 5 years • A graduate student • An engineer • A manager • … • Programming practice can • Implement your ideas • Motivate you to re-think your ideas • Make you solid, sharp and deep-thinking • Make you more cooperative

  5. Eager to Learn C/C++? • We shall cover • C/C++ control structure • Function • Pointer and Array • Stream I/O and string operations • Dynamic memory allocation • Class • Classes with pointer data members • Link list • Sort and search See the course syllabus for a detailed schedule

  6. We’ll focus on • Core C/C++ concepts • Such as: • Pointers and references • Call-by-value v.s. call-by-reference • Class • Copy constructor • … • Debugging skills

  7. How do we learn it efficiently? • Do and Make your code Work! • In this course, you will build a working system: the MiniMatlab Project • Through each lecture, you will learn some useful stuff and make a small tool or library • The machine problems (i.e., MPs, or assignments) are progressive. You will start from scratch, but you may end up with hundreds of lines of code! • Last, you will put together the tools you’ve made and build a “big” working system

  8. The MiniMatlab Project System Variable Database Command Line Interpreter Stream I/O Database management Arithmetic/Logic Unit Array/Matrix

  9. Our Schedule A Command Line Partitioner C/C++ control structures A Command Line Interpreter Function, array Pointer, array, stream I/O, string functions A Programmable Calculator (C version) A Programmable Calculator (C++ version) C++ class (I) Class (II), Matrix, debugging skills A MiniMatlab (v1.0) Link list, pointers A MiniMatlab (v2.0)

  10. The GOAL for Week-1/2 • Understand all C/C++ data types • Understand basic computer architecture and addressing mechanism • Use cin/cout to input/output • Grasp six C/C++ control structures • Understand array • Design by using flowcharts • Get a sense of the compiling process • DEBUG_1: debugging when you are coding • Do the MP#1: A Command Line Partitioner

  11. The GOAL for Week-3/4 • Fully understand addressing • Understand pointers • Fully understand the use of functions • Fully understand call-by-value and call-by-reference • Fully understand arrays • DEBUG_2: Basic skills: dump results • Do the MP#2: A Command Line Interpreter

  12. The GOAL for Week-5/6 • Understanding stream I/O • Get familiar with various standard string manipulation functions • Deeply understanding of pointer and reference • Be skillful using c/c++ control structures • Be skillful using function calls • DEBUG_3: Get more experience: breakpoints • Do the MP#3: A Programmable Calculator (C version)

  13. The GOAL for Week-6/7 • Understand the mechanism and the concept of “Class” • Understand the different ways of thinking between C and C++ • Understand constructor/destructor • Understand copy constructor • Deeply understand pointers and references • DEBUG_4: Develop skills: tracing bugs • Do MP#4 and MP#5: A Programmable Calculator (C++ version)

  14. The GOAL for Week-7/8 • Deeply understand the concept of Class • Understand DMA • Understand the tricks in “Classes with pointer data members” • Understand operator overloading • Advanced understanding of pointers • Understand my code of the CMatrix class • First crack of software integration • DEBUG_5: Develop skills: step and trace • Do MP#6: The MiniMatlab V1.0

  15. The GOAL for Week-9/10 • Get skillful on using pointers • Understand link list • Understand the basic idea of sort and search • Get a first experience on software design • DEBUG_6: Develop skills for code diagnosing, bug tracing and trouble shooting • Do MP#7: the MiniMatlab V2.0

More Related