m00 Intro
m00 Intro
234122
http://webcourse.cs.technion.ac.il/234122
Course Objectives
Learn to develop large-scale software (not programs).
Learn about object-oriented programming. Meet C++. Extend knowledge of C. Learn to work in Unix environment.
Just a C/C++ language course. A data structures course. A programming tricks / hacks course.
General Info
14 lectures, 14 tutorials Grading policy
30% - HW assignments 70% - final exam Must get at least 55 in the final exam
HW assignments
4 HW assignments, all are mandatory No postponements No code-sharing with students, other than your partner.
Exams
Moed A: Jul 22, 2011. Moed B: Oct 3, 2011.
Program
Typically 10-1,000 lines.
Software
Typically at least 10,000 lines.
Consequences
Developed by an individual. Used by programmer. Developed by a team. Used by customer.
Why OOP ?
An intuitive concept. Enables modularity and information hiding. Makes maintenance easier.
Why C / C++ ?
De-facto industrial standard. Mother tongue of Unix systems. Structured language. C++ is object-oriented syntactic extension of C.
Why Unix/Linux ?
Multi-user/multi-tasking operating system. De-facto standard across multiple platforms. Powerful procedural user-interface. Stable.
The Unix System
Bibliography
C:
The C Programming Language (2nd Edition, ANSI-C) B. Kernighan and D. Ritchie, Prentice-Hall, 1988 A Book on C: Programming in C (4th Edition) A. Kelley and I. Pohl, Addison-Wesley Professional, 1998
C++:
The C++ Programming Language (3rd Edition) B. Stroustrup, Addison-Wesley Longman, 1997
C++ Primer (4th Edition) S. Lippman, J. Lajoie, B. Moo, Addison-Wesley Professional, 2005 Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) S. Meyers, Addison-Wesley Professional, 2005
Unix: