You are on page 1of 20

Introduction to

Programming

LECTURE 1
Computer Programming I
CMPE 121
Main Textbook
• Tony Gaddis, Starting Out with C++: From Control Structures
through Objects, 8th Edition

Other Textbooks
• Bjarne Stroustrup, Programming - Principles and Practice Using
C++, 2nd Edition
• H.M.Deitel & P.J.Deitel, C++ How to Program, 9th Edition
• D. S. Malik, C++ Programming: From Problem Analysis to
Program Design, 6th Edition
Tony Gaddis, Starting Out with C++: From Control Structures
through Objects, 8th Edition
✓ Chapter 1 (from page 1 to 26)
Machine languages
• The only language understood by the computers directly.
• Machine languages are not human readable languages because
they consist entirely a stream of 0's and 1's.
• Each type of processor has its own machine language and
assembly language, so an assembly language program written for
one type of processor won't run on another.
• Machine language performs much faster.
Assembly languages
• Assembly languages are much easier to program because
• Programmers can use English-like abbreviations rather than
numbers.
• Programs so-called assemblers are used to convert assembly
language to machine languages.
• Make the programmers able to type instructions almost like
everyday English and mathematical notations.
• Using high-level languages speeds the time of the program writing
process.
• Programs so-called compilers convert
high-level language programs into
machine language.

C, C++, Python, C#, Java, Go, Swift, Matlab, Ruby, R,…


are among the most widely used high-level
programming languages
https://en.wikipedia.org/wiki/List_of_programming_languages
• BCPL was developed in 1967 by Martin Richards as a
language for writing operating systems software and
compilers for operating systems.
• Ken Thompson modelled many features in his language
B after their counterparts in BCPL.
• The C language was evolved from B by Dennis Ritchie at
Bell Laboratories.
• C++, an extension of C, was
developed by Bjarne Stroustrup
in the early 1980s at Bell
Laboratories.
• Microsoft’s latest development tools are part of its
corporate-wide strategy for integrating the Internet and
the web into computer applications.
• This strategy is implemented in Microsoft’s .NET
platform, which provides the capabilities to developers
need to make and run computer applications.

• Microsoft’s three primary programming languages are


• Visual Basic (based on the original BASIC)
• Visual C++ (based on C++)
• Visual C# (based on C++ and Java).
IDE’s provide comprehensive tools for
• writing and editing codes
• adding and editing resources
• building (compiling and linking)
• debugging codes
• deploying applications
IDE’s for C++
• Microsoft Visual Studio (Community Ed.)
• Windows OS
• https://visualstudio.microsoft.com/downloads/

• Microsoft Visual Studio Code


• Mac OS, Linux OS
• https://code.visualstudio.com
IDE’s for C++
• Eclipse
• NetBeans
• DevC++
• Code Blocks
• C++ Builder
• CodeLite
•…
Codearchery Channel
https://www.youtube.com/playlist?list=PLrKBFf87Cy9BVBAZ1Y-6Olzz0KTU4Qw6L
Learning Lad Channel
https://www.youtube.com/playlist?list=PLfVsf4Bjg79Cu5MYkyJ-u4SyQmMhFeC1C
The Cherno Project Channel
https://www.youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb
The New Boston Channel
https://www.youtube.com/playlist?list=PLAE85DE8440AA6B83
NVitanovic Channel
https://www.youtube.com/playlist?list=PLrjEQvEart7dezh2ObeI1S7L2YDZdIT9T
Kurdish Channels
https://www.youtube.com/playlist?list=PLSWb9yRaofuYRmthavQwmediE9DZeKLe6
https://www.youtube.com/playlist?list=PLX5wF_FVIDyQESU6n3SmgkhAt_k8S7ZF3
Arabic Channels
https://www.youtube.com/playlist?list=PLCInYL3l2AajFAiw4s1U4QbGszcQ-rAb3
https://www.youtube.com/playlist?list=PL5hNQAHQe-Hn2EW43uozy4kM8Oi6U0FEW
Some other resources for Programming course
• www.udacity.com
• www.udemy.com
• www.lynda.com
• www.khanacademy.org
• www.netacad.com
• www.coursera.org
• www.w3schools.com
• www.edx.org
• www.ocw.mit.edu
• www.futurelearn.com
• www.extension.harvard.edu
• www.oyc.yale.edu

You might also like