New version page

Program Design and Software Tools

Upgrade to remove ads

This preview shows page 1-2-3-4-5-6 out of 18 pages.

Save
View Full Document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience

Upgrade to remove ads
Unformatted text preview:

1 2003 Prentice Hall, Inc. All rights reserved.1IS 0020 Program Design and Software ToolsIntroduction to C++ ProgrammingLecture 1Jan 6, 2004 2003 Prentice Hall, Inc. All rights reserved.2Course Information• Lecture:– James B D Joshi– Tuesdays: 6:00-8.50 PM• One (two) 15 (10) minutes break(s)– Office Hours: Wed 3:00-5:00PM/Appointment• Pre-requisite– IS 0015 Data Structures and Programming Techniques• Textbook– C++ How to Program- Fourth Edition, by H. M. Deitel, P. J. Deitel, Prentice Hall, New Jersey, 2003, ISBN: 0-13-038474. 2003 Prentice Hall, Inc. All rights reserved.3Course Information• Course Description– An introduction to the development of programs using C++. – Emphasis is given to the development of program modules that can function independently. • Object-oriented design– The theory of data structures and programming language design is continued. 2003 Prentice Hall, Inc. All rights reserved.4Grading• Quiz 10% (in the beginning of the class; on previous lecture)• Homework/Programming Assignments 40% (typically every week)• Midterm 25%• Comprehensive Final 25%2 2003 Prentice Hall, Inc. All rights reserved.5Course Policy• Your work MUST be your own– Zero tolerance for cheating – You get an F for the course if you cheat in anything however small – NO DISCUSSION• Homework– There will be penalty for late assignments (15% each day)– Ensure clarity in your answers – no credit will be given for vague answers– Homework is primarily the GSA’s responsibility• Check webpage for everything!– You are responsible for checking the webpage for updates 2003 Prentice Hall, Inc. All rights reserved.6Course Policy• Your work MUST be your own– Zero tolerance for cheating – You get an F for the course if you cheat in anything however small –NO DISCUSSION• Homework– There will be penalty for late assignments (15% each day)– Ensure clarity in your answers – no credit will be given for vague answers– Homework is primarily the GSA’s responsibility– Solutions/theory will be posted on the web• Check webpage for everything!– You are responsible for checking the webpage for updates 2003 Prentice Hall, Inc. All rights reserved.7Computer Languages• Machine language• Only language computer directly understands• Defined by hardware design– Machine-dependent• Generally consist of strings of numbers– Ultimately 0s and 1s• Instruct computers to perform elementary operations– One at a time• Cumbersome for humans• Example:+1300042774+1400593419+1200274027 2003 Prentice Hall, Inc. All rights reserved.8Computer Languages• Assembly language• English-like abbreviations representing elementary computer operations • Clearer to humans• Incomprehensible to computers– Translator programs (assemblers)• Convert to machine language• Example:LOAD BASEPAYADD OVERPAYSTORE GROSSPAY3 2003 Prentice Hall, Inc. All rights reserved.9Computer Languages• High-level languages • Similar to everyday English, use common mathematical notations• Single statements accomplish substantial tasks– Assembly language requires many instructions to accomplish simple tasks• Translator programs (compilers)– Convert to machine language• Interpreter programs– Directly execute high-level language programs• Example:grossPay = basePay + overTimePay 2003 Prentice Hall, Inc. All rights reserved.10History of C and C++• History of C– Evolved from two other programming languages• BCPL and B– “Typeless” languages– Dennis Ritchie (Bell Laboratories)• Added data typing, other features– Development language of UNIX– Hardware independent• Portable programs– 1989: ANSI standard– 1990: ANSI and ISO standard published• ANSI/ISO 9899: 1990 2003 Prentice Hall, Inc. All rights reserved.11History of C and C++• History of C++ – Extension of C– Early 1980s: Bjarne Stroustrup (Bell Laboratories)– Provides capabilities for object-oriented programming• Objects: reusable software components – Model items in real world• Object-oriented programs– Easy to understand, correct and modify– Hybrid language• C-like style• Object-oriented style• Both 2003 Prentice Hall, Inc. All rights reserved.12C++ Standard Library• C++ programs– Built from pieces called classes and functions• C++ standard library– Rich collections of existing classes and functions• “Building block approach” to creating programs– “Software reuse”4 2003 Prentice Hall, Inc. All rights reserved.13Java• Java – 1991: Sun Microsystems • Green project– 1995: Sun Microsystems• Formally announced Java at trade show– Web pages with dynamic and interactive content– Develop large-scale enterprise applications– Enhance functionality of web servers– Provide applications for consumer devices • Cell phones, pagers, personal digital assistants, … 2003 Prentice Hall, Inc. All rights reserved.14Structured Programming• Structured programming (1960s)– Disciplined approach to writing programs– Clear, easy to test and debug, and easy to modify• Pascal– 1971: Niklaus Wirth• Ada– 1970s - early 1980s: US Department of Defense (DoD)– Multitasking• Programmer can specify many activities to run in parallel  2003 Prentice Hall, Inc. All rights reserved.15The Key Software Trend: Object Technology• Objects – Reusable software components that model real world items– Meaningful software units• Date objects, time objects, paycheck objects, invoice objects, audio objects, video objects, file objects, record objects, etc.• Any noun can be represented as an object– More understandable, better organized and easier to maintain than procedural programming– Favor modularity• Software reuse– Libraries• MFC (Microsoft Foundation Classes)• Rogue Wave 2003 Prentice Hall, Inc. All rights reserved.16Basics of a Typical C++ Environment• C++ systems– Program-development environment– Language– C++ Standard Library• C++ program names extensions– .cpp– .cxx– .cc– .C5 2003 Prentice Hall, Inc. All rights reserved.17Basics of a Typical C++ EnvironmentPhases of C++ Programs:1. Edit2. Preprocess3. Compile4. Link5. Load6. Execute LoaderPrimaryMemoryProgram is created inthe editor and storedon disk.Preprocessor programprocesses the code.Loader puts programin memory.CPU takes eachinstruction andexecutes it,


Download Program Design and Software Tools
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Program Design and Software Tools and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Program Design and Software Tools 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?