Upload
iris-holland
View
215
Download
0
Embed Size (px)
Citation preview
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)
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)
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
Emphases of Teaching
• Basic concepts of the object oriented programming paradigm
• C++ Programming skills
• Problem solving techniques, basic data structures and algorithm design
Teaching
• Lecture
• Quiz
• Homework and program assignments– Homework should be turned in within two
weeks
• Mid-term and final exam
Grading
• Homework and program assignments: 40%
• Quiz: 15%
• Midterm: 20%
• Final exam: 25%
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
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/
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
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
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++– …
Homework Submission
• Homework submission:– (TBA)
• Program Development Environment– (TBA)
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, …
• Preparing for advanced courses– Application software design– Software engineering & project management