0% found this document useful (0 votes)
88 views

Programming Fundamentals IT-119

The document provides information about an Introduction to Programming course at Tishk International University, including: 1) The course is offered in the spring semester of 2019-2020 by the IT department's Science Faculty. 2) Textbook information and hardware requirements are listed. 3) An overview of programming languages is given, including low-level languages like machine code and assembly, and high-level languages like C++ that will be used in the course. 4) Reasons for learning C++ are cited, such as its efficiency and widespread usage. Integrated development environments and online resources for learning C++ are also mentioned.

Uploaded by

Meran Xorany
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
88 views

Programming Fundamentals IT-119

The document provides information about an Introduction to Programming course at Tishk International University, including: 1) The course is offered in the spring semester of 2019-2020 by the IT department's Science Faculty. 2) Textbook information and hardware requirements are listed. 3) An overview of programming languages is given, including low-level languages like machine code and assembly, and high-level languages like C++ that will be used in the course. 4) Reasons for learning C++ are cited, such as its efficiency and widespread usage. Integrated development environments and online resources for learning C++ are also mentioned.

Uploaded by

Meran Xorany
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23

Tishk International University

Science Faculty
IT Department

Programming Fundamentals IT-119

Introduction to Programming

1st Grade- Spring Semester 2019-2020

Instructor: Mohammed Kamal


Email: mohammed.kamal@tiu.edu.iq
Textbooks

Main Textbook
• 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

Other Textbooks
• Bjarne Stroustrup, Programming - Principles and Practice Using C++,
2nd Edition
• H.M.Deitel & P.J.Deitel, C++ How to Program, 9th Edition
Hardware
Hardware
SOFTWARE
Types of Programming Language
Low-Level Language
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.
Low-Level Language
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.
High-Level 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
High-Level Languages
Examples for Languages
Advantages of
Purposes of having Different programming languages
■ general-purpose programming language: is a programming languages designed to be
used for writing software in the widest variety of application domains (a general
purpose language). A general-purpose programming language has this status because it
does not include language constructs designed to be used within a specific application
domain. Examples include C, C++, Java …
■  Domain-specific programming language:  is one designed to be used within a specific
application domain. Examples include HTML and SQL.
What Language are we going to use?
■ You are going to learn C++.

■ C++ is a powerful general-purpose programming language. It can be used to develop


operating systems, browsers, games, and so on.
History of C and C++
• 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.
Advantages of learning C++ language
■ It’s a good language to understand programming concept and algorithms. After that
learning other languages will be easy.
■ C++ is a powerful, efficient and fast language. It finds a wide range of applications –
from GUI applications to 3D graphics for games to real-time mathematical simulations.
■ This programming language has a very huge community and it is always a good idea to
have a large community. If there is a larger community, you will be able to get more
support.
IDE (Integrated Development Environment)

IDE’s provide comprehensive tools for


• writing and editing codes
• adding and editing resources
• building (compiling and linking)
• debugging codes
• deploying applications
IDE (Integrated Development Environment)
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 (Integrated Development Environment)

IDE’s for C++


• Eclipse
• NetBeans
• DevC++
• Code Blocks
• C++ Builder
• CodeLite
•…
Online video tutorials from
Codearchery Channel
https://www.youtube.com/playlist?list=PLrKBFf87Cy9BVBAZ1Y-6Olzz0KTU4Qw6
L
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=PLSWb9yRaofuYRmthavQwmediE9DZeKLe
6
https://www.youtube.com/playlist?list=PLX5wF_FVIDyQESU6n3SmgkhAt_k8S7ZF
Arabic
3 Channels
https://www.youtube.com/playlist?list=PLCInYL3l2AajFAiw4s1U4QbGszcQ-rAb3
https://www.youtube.com/playlist?list=PL5hNQAHQe-Hn2EW43uozy4kM8Oi6U0FE
W
Online resources
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
• www.tutorialspoint.com
Online resources

You might also like