The C++ Programming Language Lecture 0: Introduction to the course

Slides:



Advertisements
Similar presentations
MS Access.
Advertisements

By Rajan Maharjan (Sprout Technology Pvt Ltd) 1 Mobile Apps Development in Nepal.
Introduction to UNIX Acknowledgement:Thanks to Dr Andrew Horner for the original version of this set of slides. All trademarks are the properties of their.
Managing Software Assets Chapter Six. SoftwareInformation Systems for Management2 Software Software: Detailed instructions that control the operation.
Introduction to Programming. COMP104 Lecture 1 / Slide 2 Objectives * To learn fundamental problem solving techniques: n define a problem n design an.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Introduction to Computer Programming CSC 1401: Introduction to Programming with Java Lecture 2 Wanda M. Kunkle.
CS 898N Advanced World Wide Web Technologies Lecture 1: Introduction Chin-Chih Chang
C and Unix. A Couple Basic Concept and Terms 1. File. 2. Process. 3. Memory 4. HD.
Introduction to windows operating system i
Introduction to Programming Programming. COMP102 Prog. Fundamentals I: Introduction / Slide 2 Objectives l To learn fundamental problem solving techniques.
Introduction to Programming. COMP104 Introduction / Slide 2 Objectives * To learn fundamental problem solving techniques * To learn how to design a program.
Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University.
Introduction to UNIX Acknowledgement:Thanks to Dr Andrew Horner for the original version of this set of slides. All trademarks are the properties of their.
Jennifer Paoletti. Office Live Workspace Basics provides a user with its own domain name, and the ability to create their own website. It also provides.
 2000 Prentice Hall, Inc. All rights reserved. 1 Introduction to Computers and C Programming Outline Introduction What Is a Computer? Computer Organization.
Computer Software.
Object Oriented Software Development 1. Introduction to C# and Visual Studio.
WHAT IS PHP PHP is an HTML-embedded scripting language primarily used for dynamic Web applications.
The PHP Story. PHP Story PHP is a programming language. Incorporate(join) sophisticated business logic. Widely used general purpose scripting language.
Chapter 1 Introduction Outstanding Features About This Book 1. A novel writing style is adopted to try to attract students’ or beginning programmers’ interesting.
CSC 142 A 1 CSC 142 Introduction to Java [Reading: chapter 0]
1 Programming Concepts Module Code : CMV6107 Class Contact Hours: 45 hours (Lecture 15 hours) (Laboratory/Tutorial 30 hours) Module Value: 1 Textbook:
Introduction to Computer Programming itc-314
Introduction COMP104: Fundamentals and Methodology.
Stuart Cunningham - Computer Platforms COMPUTER PLATFORMS Network Operating Systems Week 9.
Chapter Lead Black Slide Powered by DeSiaMore Powered by DeSiaMore.
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
 2008 Pearson Education, Inc. All rights reserved Introduction to Computers, the Internet and World Wide Web.
Instructional Plan Template | Slide 1 AET/515 Instructional Plan Advanced Enterprise Java Platform Class and Lab Mark K. Reha.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
CMSC 202 Computer Science II for Majors Object-Oriented Programming.
Choosing NOS can be a complex and a difficult decision. Every popular NOS has its strengths and weaknesses. NOS may cost thousands of dollars depending.
Lecture 1 Programming in C# Introducing C# Writing a C# Program.
Part 1. Persistent Data Web applications remember your setting by means of a database linked to the site.
Computer Fundamentals MSCH 233 Lecture 2. What is a Software? Its step by step instructions telling the computer how to process data, execute operations.
1 3. Computing System Fundamentals 3.1 Language Translators.
PHP Features. Features Clean syntax. Object-oriented fundamentals. An extensible architecture that encourages innovation. Support for both current and.
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 5 Information System Software.
1Computer Sciences Department Princess Nourah bint Abdulrahman University.
1 Programming Appreciation Welcome 2 About Your Lecturer Richard C.Y. Pang Computer & Information Management Room 436 Consultation Hours Wed 11am - 5pm.
1 Lecture 2 : Computer System and Programming. Computer? a programmable machine that  Receives input  Stores and manipulates data  Provides output.
Object Oriented Programming (FIT-II) J. H. Wang Feb. 20, 2009.
Liang, Introduction to C++ Programming, (c) Chapter 1 Introduction to Computers, Programs, and C++
Computing System Fundamentals 3.1 Language Translators.
Application Software System Software.
Introduction to Web Application Introduction to Course.
Principles of Programming Chapter 1: Introduction  In this chapter you will learn about:  Overview of Computer Component  Overview of Programming 
Introduction Mehdi Einali Advanced Programming in Java 1.
Lecture Set 1 Part B: Understanding Visual Studio and.NET – Structure and Terminology 1/16/ :04 PM.
Internet Searching the World Wide Web. The Internet and the World Wide Web The Internet is a worldwide collection of networks that allows people to communicate.
Chapter 4 COMPUTER SOFTWARE. Objective Describe several important trends occurring in computer software. Explain the purpose of several popular software.
Best 5 Mobile App Development Tools for Developer's to think beyond the Limitation.
First appeared Features Popular uses Basic This language emphasises on ease of use, allowing general purpose programming to those with a small amount of.
CMPT 201 Computer Science II for Engineers
CSC235 Computer Organization & Assembly Language
Warm Handshake with Websites, Servers and Web Servers:
LESSON 1 Introduction to Programming Language
Introduction to JSP Liu Haibin 12/09/2018.
R Programming.
Programming COMP104: Fundamentals and Methodology Introduction.
Programming vs. Packaged
Advanced Programming: C# Lecture 01: Introduction
and Program Development
Оқытушысы: Жармагамбетова Г.О.
Java Programming Introduction
CSC 142 Introduction to Java [Reading: chapters 1 & 2]
Types of Software Mrs. S. Palmer Office Administration.
0. Overview of 2-Day Academic .NET Workshop
Presentation transcript:

The C++ Programming Language Lecture 0: Introduction to the course

Learning requirements of course Basic knowledge (concepts, principles, methods) of C++ Basic knowledge (concepts, principles, methods) of C++ Exercise after class Exercise after class Practice Practice

Abilities to develop Computer level: Computer level: Basic knowledge (concepts, techniques) Basic knowledge (concepts, techniques) Style of programming /software design Style of programming /software design Skill of programming /software design Skill of programming /software design English level English level Terms Terms Capabilities of reading professional books Capabilities of reading professional books

Books Stanley B. Lippman, Essential C++, 1999 Stanley B. Lippman, Essential C++, 1999 Bjame Stroustrup, the C++ programming language, 2001 Bjame Stroustrup, the C++ programming language, 2001 Stanley B. Lippman etc., C++ primer, 2006 Stanley B. Lippman etc., C++ primer, 2006 Bruce Eckel, Thinking in C++, 2000 Bruce Eckel, Thinking in C++, 2000 Scott Meyers, Effective C++, 2005 Scott Meyers, Effective C++, 2005 谭浩强, C++ 程序设计, 清华大学出版社, 2004 谭浩强, C++ 程序设计, 清华大学出版社, 2004

We Need To Know This Guy Designer and original implementer of the C++ Designer and original implementer of the C++ Author of “ The C++ Programming Language ” (4 editions) and “ The Design and Evolution of C++ ” Author of “ The C++ Programming Language ” (4 editions) and “ The Design and Evolution of C++ ” ACM fellow, AT&T Fellow, AT&T Bell Laboratories Fellow, head of AT&T Lab's Large-scale Programming Research department ACM fellow, AT&T Fellow, AT&T Bell Laboratories Fellow, head of AT&T Lab's Large-scale Programming Research department Homepage: C++ Resources: Tech FAQs: Bjarne Stroustrup --- Godfather of the C++

Introduction to C++ C is a programming language developed in the 1970’s alongside the UNIX operating system. C is a programming language developed in the 1970’s alongside the UNIX operating system. C provides a comprehensive set of features for handling a wide variety of applications, such as systems development and scientific computation. C provides a comprehensive set of features for handling a wide variety of applications, such as systems development and scientific computation. C++ is an “extension” of the C language, in that most C programs are also C++ programs. C++ is an “extension” of the C language, in that most C programs are also C++ programs. C++ as opposed to C, supports “object-oriented programming” C++ as opposed to C, supports “object-oriented programming”

Why C++? Bad news Bad news C++ is not easy to learn C++ is not easy to learn Good news: Good news: Lots of good-paying jobs for programmers because C++ is not easy to learn Lots of good-paying jobs for programmers because C++ is not easy to learn Java uses C++ syntax, it is easy to learn java if you know C++ Java uses C++ syntax, it is easy to learn java if you know C++ Though C++ is not the easiest language(Basic and Pascal are easier), it is not the hardest either(Ada, Prolog and Assembly languages are really difficult) Though C++ is not the easiest language(Basic and Pascal are easier), it is not the hardest either(Ada, Prolog and Assembly languages are really difficult)

Why C++? Almost as efficient as C Almost as efficient as C Appropriate for many design methodologies Appropriate for many design methodologies Large base of programmers Large base of programmers Extensive standard library Extensive standard library Designed to scale well Designed to scale well ANSI/ISO standard ANSI/ISO standard

Why C++ is very important? Compliant with C, but better than C Compliant with C, but better than C Protect legacy codes Protect legacy codes More safe More safe Easier for debugging Easier for debugging Support data abstraction Support data abstraction Support 4 kinds of Programming and Design style Support 4 kinds of Programming and Design style Procedure-Based Programming Procedure-Based Programming Object-Based Programming Object-Based Programming Object-Oriented Programming Object-Oriented Programming Especially useful in modern project developing Especially useful in modern project developing Generic Programming Generic Programming Necessary for excellent programs Necessary for excellent programs

Where C++ can be applied by Bjarne Stroustrup Where C++ can be applied by Bjarne Stroustrup Amazon.com : Software for large-scale e-commerce. Amazon.com : Software for large-scale e-commerce. Apple: OS X is written in a mix of language, but a few important parts are C++. Apple: OS X is written in a mix of language, but a few important parts are C++. AT&T: The largest US telecommunications provider. AT&T: The largest US telecommunications provider. Autodesk: A large number of major number of application in the CAD domain Autodesk: A large number of major number of application in the CAD domain Ericsson: server platform. Ericsson: server platform. Google: web search engine, etc. Google: web search engine, etc. HP, IBM, Intel, Nokia HP, IBM, Intel, Nokia JPL (Jet Propulsion Lab, NASA): Mars rover autonomous driving system (incl. scene analysis and route planning). C++ on Mars! Also lots of supporting software "on the ground" (i.e. Earth). JPL (Jet Propulsion Lab, NASA): Mars rover autonomous driving system (incl. scene analysis and route planning). C++ on Mars! Also lots of supporting software "on the ground" (i.e. Earth).

Where C++ can be applied by Bjarne Stroustrup Where C++ can be applied by Bjarne Stroustrup Microsoft:o Windows XP o Windows NT (NT4 and 2000) o Windows 9x (95, 98, Me) o Microsoft Office (Word, Excel, Access, PowerPoint, Outlook) o Internet Explorer (including Outlook Express) o Visual Studio o SQL Microsoft:o Windows XP o Windows NT (NT4 and 2000) o Windows 9x (95, 98, Me) o Microsoft Office (Word, Excel, Access, PowerPoint, Outlook) o Internet Explorer (including Outlook Express) o Visual Studio o SQL Mozilla: Firefox browser and Thunderbird mail client (open source) Mozilla: Firefox browser and Thunderbird mail client (open source) MySQL: MySQL Server (about 250,000 lines of C++) and MySQL Cluster. Arguably the world's most popular open source database MySQL: MySQL Server (about 250,000 lines of C++) and MySQL Cluster. Arguably the world's most popular open source database telephone systems telephone systems

Tools C++ IDEs : C++ IDEs : Microsoft Visual C++, Visual Studio Series Microsoft Visual C++, Visual Studio Series Borland C++ Builder Borland C++ Builder Bloodshed Dev-C++, which used MingW32/GCC compiler and follow the standard of C/C++ Bloodshed Dev-C++, which used MingW32/GCC compiler and follow the standard of C/C++ Eclipse CDT is a plugin of Eclipse, it turns the Eclipse to a powerful C/C++ IDE Eclipse CDT is a plugin of Eclipse, it turns the Eclipse to a powerful C/C++ IDE For Macs, if you are running OS X, you have a free professional development tool called Xcode For Macs, if you are running OS X, you have a free professional development tool called Xcode

面向对象程序设计 Dev-C++

Bug/debug - Computer scientist in USA navy - One of the first programmer on Harvad Mark I - develop the first compiler Grace Hopper 1940s Photo of "first computer bug" Mark II Computer at Harvard University in 1947