Presentation is loading. Please wait.

Presentation is loading. Please wait.

ECE230 Course Introduction Ying Wu Electrical & Computer Engineering Northwestern University ECE230 Lectures Series.

Similar presentations


Presentation on theme: "ECE230 Course Introduction Ying Wu Electrical & Computer Engineering Northwestern University ECE230 Lectures Series."— Presentation transcript:

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

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, 3 rd (or 4 th ) Edition, by H.M. Deitel and P.J. Deitel, Prentice Hall. Course Web –http://www.courses.nwu.edu/ (NU Black board) using your IDhttp://www.courses.nwu.edu/ 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 Stream I/O Command Line Interpreter System Variable Database Arithmetic/Logic Unit Database management Array/Matrix

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

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


Download ppt "ECE230 Course Introduction Ying Wu Electrical & Computer Engineering Northwestern University ECE230 Lectures Series."

Similar presentations


Ads by Google