Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
11 views

Programming1 Lecture 1

This document provides an introduction and overview for a lecture on computer programming. It discusses machine languages, assembly languages, and high-level languages like C++. It recommends textbooks on C++ programming and introduces integrated development environments (IDEs) that can be used for writing, building, and debugging C++ code. Recommended online resources on C++ programming are also provided.

Uploaded by

Mustafa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Programming1 Lecture 1

This document provides an introduction and overview for a lecture on computer programming. It discusses machine languages, assembly languages, and high-level languages like C++. It recommends textbooks on C++ programming and introduces integrated development environments (IDEs) that can be used for writing, building, and debugging C++ code. Recommended online resources on C++ programming are also provided.

Uploaded by

Mustafa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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