15
Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008

Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008

Embed Size (px)

Citation preview

Page 1: Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008

Object Oriented Programming (FIT-II)

J. H. Wang

Jan. 31, 2008

Page 2: Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008

Instructor

• Instructor– J. H. Wang (王正豪 )– Assistant Professor, CSIE, NTUT– Office: R312-1, Complex Building– E-mail: [email protected]– Tel: ext. 4238– Office Hour: 10:00-12:00 am, every Tuesday and Thu

rsday

• TA– TBA (one TA per 40 students)

Page 3: Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008

Course Overview

• Course: Object Oriented Programming (FIT-II)• Time: 13:10-16:00pm, Friday• Place: 電算 313 (Computer and Network Center)• Textbook: Absolute C++, 3rd edition, by Walter Savitch,

Addison-Wesley. (開發 )• References:

– The C++ Programming Language, 3rd edition, by Bjarne Stroustrup, Addison-Wesley, 1997.

– C++ Primer, 4th edition, by Stanley B. Lippman, Josee Lajoie, and Barbara E. Moo, Addison-Wesley, 2005.

• Prerequisite: – Basic computer skills (FIT-I basic)– Working knowledge of high-level programming languages such

as C (FIT-I pro)

Page 4: Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008

Target Students

• For those who– Might not major in CSIE but are interested in

information technologies, and– Have accomplished the courses FIT-I basic &

FIT-I pro, and– Are willing to prepare for intermediate and

advanced software engineering courses

Page 5: Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008

Emphases of Teaching

• Basic concepts of the object oriented programming paradigm

• C++ Programming skills

• Problem solving techniques, basic data structures and algorithm design

Page 6: Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008

Teaching

• Lecture

• Quiz

• Homework and program assignments– Homework should be turned in within two

weeks

• Mid-term and final exam

Page 7: Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008

Grading

• Homework and program assignments: 40%

• Quiz: 15%

• Midterm: 20%

• Final exam: 25%

Page 8: Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008

Main Topics

• Computer programming– To know about programming languages– To learn and practice the programming skills

• Object-oriented problem solving– To learn the concepts of object oriented

programming– To practice the techniques of programming

solving and application design

Page 9: Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008

Course Description

• Object oriented programming– Programming paradigms– Fundamental constructs in OOP with C++– Fundamental data structures– Advanced topics

• Course Web Page– http://www.ntut.edu.tw/~jhwang/OOP/

Page 10: Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008

Outline & Schedule

• Outline– Overview of Object Oriented Programming– C++ Basics– Functions, Parameters, and Overloading– Arrays, Structures and Classes– Constructors and Other Tools– Operator Overloading, Friends, and References– Strings– Pointers and Dynamic Arrays

Page 11: Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008

Outline & Schedule (Cont’)

• Outline (cont’d)– Streams and File I/O– Inheritance– Polymorphism and Virtual Functions– Templates– Standard Template Library– Patterns and UML

• Schedule– Basically, 1 or 2 weeks per chapter

Page 12: Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008

Program Development Environment

• Free C++ Development Environments– GCC on Linux/UNIX servers (ntut.edu.tw)– Windows-based

• Dev C++ (http://www.bloodshed.net/devcpp.html)• Cygwin (http://www.cygwin.com/)• MinGW (http://www.mingw.org/)

• Commercial tools– Microsoft Visual C++– Borland C++– …

Page 13: Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008

Homework Submission

• Homework submission:– (TBA)

• Program Development Environment– (TBA)

Page 14: Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008

Why C++?

• Programming language: Why C++? – C++: general purpose programming language with a b

ias towards systems programming that is [from Bjarne Stroustrup’s homepage]

• A better C• Supports data abstraction, object-oriented programming, and

generic programming

– C++ has • Many users• Many applications

– Others: Smalltalk, Java, …

Page 15: Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008

• Preparing for advanced courses– Application software design– Software engineering & project management