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

Lecture 1, Progm Languages

The document provides an overview of a programming course that aims to familiarize students with basic structured programming skills such as problem analysis, algorithm design, and program development and testing. The course outline covers topics like different programming languages, language processors, structured and modular programming, algorithms, variables, operators, control structures, arrays, and pointers.

Uploaded by

Mehtab Khan
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
85 views

Lecture 1, Progm Languages

The document provides an overview of a programming course that aims to familiarize students with basic structured programming skills such as problem analysis, algorithm design, and program development and testing. The course outline covers topics like different programming languages, language processors, structured and modular programming, algorithms, variables, operators, control structures, arrays, and pointers.

Uploaded by

Mehtab Khan
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

The course is designed to familiarize students with the basic structured

programming skills. It emphasizes upon problem analysis, algorithm


designing, and programme development and testing.

Intended Learning Outcomes:

- This course is designed to familiarize students with the basic


structured programming skills.
- It emphasis upon problem analysis, algorithm designing and
program development and testing.

Course Outline:

- Overview of computers and programming.


- Types of programming languages(Low level, assembly
language and High level Languages)
- Overview of language for e.g. C++ language.
- Language processors(compiler, Interpreter, Assembler)
- Basics of structured and Modular programming.
- Basic Algorithms and problem solving,
- Development of basic algorithms, analyzing problem,
designing solution, testing designed solution.
- Fundamental programming constructs,
- Translation of algorithms to programmes,
- Data types
- Variables and constants
- Operators (Arithmetic, assignment operator, increment and
decrement, operator precedence.
- Comments(Single line and multiple line)
- Control structures(If structure, if-else structure, multiple if else
structure, nested if structure, compound conditions witch
structure)

- Go to statement.
- Looping structure(for loop, while loop, do-While), break, continue
- Functions(Use defined and built in )
- Arrays(Sequential search, binary search, Selection sort, bubble
sort, two dimensional arrays and multi dimensional arrays)
- Structures(Nested structures)
- Union
- Enumerations
- Pointers
- Testing programmes
Reference Material:

1. Hanley & Kauffman.( Latest Edition). Problem Solving and Program


Design in C.
Addison-Wesley .
2. Deital,H.M., & Dietal,P.J. (Latest Edition). C How to Program.
Prentice Hall
3. IT series. Object oriented Programming using C++.

Programming is a skill that is becoming increasingly sought after in the job market.
Having at least a basic understanding of how software functions is helpful for
anyone who interacts with technology. With a background in programming, you can
get a job coding, designing software, data architecture, or creating intuitive user
interfaces. 

But what language should you learn? You'll find a seemingly infinite number of
programming languages that are free to learn and develop projects with online. With
the field of technology growing exponentially each year, the internet is a great place
to start when trying to explore the latest developments or discover a new skill. 

Whichever language you learn, you may find it helpful to take notes or draw
diagrams detailing the steps you're taking and why. It's important for programmers
to be able to communicate their process to non-technical stakeholders, but taking
notes can also be a great learning tool. "Turns out this often comes in handy not only
for the sake of creating documentation, but often helps in solving a single task or
issue where the underlying tech is challenging to understand," offers Eric Hartzog, a
software engineer at Meta.

In this article, we'll explore some of the most common types of programming
languages and give you some resources you can use to start learning.
5 major types of programming languages

While you'll find dozens of ways to classify various programming languages, they
generally fall into five major categories. Keep in mind that some languages may fall
under more than one type:
1. Procedural programming languages

A procedural language follows a sequence of statements or commands in order to


achieve a desired output. Each series of steps is called a procedure, and a program
written in one of these languages will have one or more procedures within it.
Common examples of procedural languages include:
 C and C++
 Java
 Pascal
 BASIC
2. Functional programming languages

Rather than focusing on the execution of statements, functional languages focus on


the output of mathematical functions and evaluations. Some popular functional
programming languages include:
int addNum(int a, int b); // function prototype

 Scala
 Erlang
 Haskell
 Elixir
 F#

3. Object-oriented programming languages

This type of language treats a program as a group of objects composed of data and
program elements, known as attributes and methods.
Objects can be reused within a program or in other programs. This makes it a
popular language type for complex programs, as code is easier to reuse and scale.
Some common object-oriented programming (OOP) languages include:
 Java
 Python
 PHP
 C++
 Ruby
4. Scripting languages
A scripting language is a programming language that executes tasks within a
special run-time environment by an interpreter instead of a compiler. Programmers
use scripting languages to automate repetitive tasks, manage dynamic web content,
or support processes in larger applications. Some common scripting languages
include:
 PHP

 Ruby
 Python
 bash
 Perl
 Node.js
5. Logic programming languages

Instead of telling a computer what to do, a logic programming language expresses a


series of facts and rules to instruct the computer on how to make decisions. Some
examples of logic languages include:
 Prolog
 Absys
 Datalog
 Alma-0
Other ways to classify programming languages

You'll find many more ways to categorize languages beyond the five listed above.
Let's take a closer look at there other ways you can think about programming
languages:
Front-end vs. back-end languages

Front-end languages are primarily concerned with the ‘user’ aspect of the software.
The front end deals with all of the text, colors, buttons, images, and navigation that
the user will face when navigating your website or application. Anyone with a
background in graphic design or art may be more inspired to begin learning one of
the front-end languages. 

Some examples of front-end programming languages include: 


 HTML 
 CSS 
 JavaScript 
 React 

Back-end languages deal with storage and manipulation of the server side of


software. This is the part of the software that the user does not directly come into
contact with but supports their experience behind the scenes. This includes data
architecture, scripting, and communication between applications and underlying
databases. 

Anyone with experience in mathematics or engineering may find more interest in


back-end development.

Some examples of back-end programming languages include:


 JavaScript
 PHP
 Java
 Python
 Ruby
 C#
High-level vs. low-level languages

The biggest factor that differentiates high- and low-level programming languages is
whether the language is meant to be easily understood by a human programmer or a
computer. 
Low-level languages are machine-friendly, which makes them highly efficient in
terms of memory usage but difficult to understand without the help of an assembler.
(An assembler is a type of computer program that interprets software programs
written in assembly language into machine language, code and instructions that can
be executed by a computer
An assembler enables software and application developers to access, operate and
manage a computer's hardware architecture and components.
An assembler is sometimes referred to as the compiler of assembly language. It
also provides the services of an interpreter.)

Since they're not very people-friendly, they're also not widely used anymore.
Examples include machine code and assembly languages.

High-level languages, on the other hand, are less memory efficient but much more
human friendly. This makes them easier to write, understand, maintain, and debug.
Most popular programming languages in use today are considered high-level
languages. 
Interpreted vs. compiled languages
 Compiler transforms code written in a high-level programming language
into the machine code at once before the program runs, whereas an
Interpreter converts each high-level program statement, one by one,
into the machine code, during program run.
 Compiled code runs faster, while interpreted code runs slower.
 Compiler displays all errors after compilation, on the other hand, the
Interpreter displays errors of each line one by one.
 Compiler takes an entire program, whereas the Interpreter takes a
single line of code.
The distinction between interpreted and compiled languages has to do with how they
convert high-level code and make it readable by a computer. With interpreted
languages, code goes through a program called an interpreter, which reads and
executes the code line by line. This tends to make these languages more flexible and
platform independent.

Examples of interpreted languages include:


 Python
 JavaScript
 PHP
 Ruby

Compiled languages go through a build step where the entire program is converted
into machine code. This makes it faster to execute, but it also means that you have to
compile or "build" the program again anytime you need to make a change.

Examples of compiled languages include:


 C, C++, and C#
 Rust
 Erlang

You might also like