Introduction
Class Notes How to Program in C++ By : dettle & dettle READING MATERIAL
Lecture overheads are designed to convey information, not to be mechanically copied down. Copies are given to you in the lectures. LISTEN to what is said. THINK about what is said. ASK questions when you do not understand. WRITE down what is important. DO NOT TALK amongst yourselves unless you are invited to do so. LECTURES
Final Exam (50%) Mid Term ( 30%) Quiz (5%) Project (10%) Attendance and Class Participation(5%) Course Website: COURSE STRUCTURE …
Programming? Why C++? OO Concepts? YOUR EXPECTATION ?!
Self Work Review Questions Class Participation Team Work MY EXPECTATION ?!
“ Well-designed and constructed software is easy to maintain” THOUGHTS TO PONDER …
Delivered late Over budget Requirements not met Contain defects (bugs) Less than 5% delivered as required - affects the quality SOFTWARE CRISIS
Poorly defined requirements changes in requirements complex requirements poor development models SOFTWARE CRISIS REASONS
CONVENTIONAL PROGRAMMING VS OBJECT ORIENTED PROGRAMMING
Developed in late 1960s more disciplined style Functional Decomposition Approach STRUCTURED PROGRAMMING
A single paradigm code reuse model reflects the “real world” changes in requirements cause minimal effect in design OBJECT - ORIENTED TECHNOLOGY
client/server computing GUI systems embedded systems database applications OBJECT - ORIENTED - SCOPE
For Managers: Promises faster, cheaper development and maintenance For Analyst and Designers: Modeling becomes simpler and produces a clear, manageable design For Programmers: Elegance and clarity of the object model and the power of object-oriented tools and libraries makes programming a much more pleasant task, and programmers experiences an increase in productivity. BENEFITS OF OOP …
Late 1940s, early 1950s used concepts like ‘objects’ & ‘attribute of objects’ Larry Constantine - first to suggest design before programming Dahel & Nygaard introduced ‘class’ in language Simula in Norway in late 1960s Alan Kay concepts on ‘messages’ & ‘inheritance’ in 1969 OBJECT ORIENTED - HISTORY
term ‘object-oriented’ by Alan Kay in SmallTalk 1980s impact on software life-cycle 1980s Grady Booch introduced concept of O.O Design (OOD) as a life-cycle process that define the interactions & interrelationships among software concepts late 1980s O.O Analysis (OOA) CON’T - OBJECT ORIENTED - HISTORY
C++ currently in use Sun Microsystems, James Gosling used as ‘oak’ Today known as JAVA which is ‘a simple, o.o, distributed, interpreted, robust, secure, portable, high performance and general purpose programming’ announced in May 1995 CON’T - OBJECT ORIENTED - HISTORY