1. This document discusses the concepts of programming languages including evaluation criteria, influences on language design, categories, and implementation methods.
2. Key evaluation criteria are readability, writability, reliability, and cost. Major influences are computer architecture and programming methodologies.
3. Major language categories are imperative, functional, logic, and markup/programming hybrids. Implementation methods include compilation, pure interpretation, and hybrid systems.
The film Cold Mountain follows the journey of Inman as he tries to return home to Ada after being separated by the Civil War. The movie shows flashbacks of Inman and Ada's relationship before the war. It also shows Ada struggling to survive on her own after being left alone. The film focuses on Inman's dangerous journey back to Cold Mountain and Ada learning to take care of herself in his absence.
This document provides an overview of the CSC 447 course on Organization of Programming Languages taught at the Federal University of Agriculture, Abeokuta. The course will cover topics like language definition structures, data types, control structures, runtime considerations, and language evaluation over weeks 1 and 2. It also outlines various programming language paradigms, implementation methods, influences on language design, and criteria for comparing languages.
This document provides a comparative study of six programming languages: C++, PHP, C#, Java, Python, and VB. It summarizes the history, versions, paradigms, strengths/weaknesses, and available compilers/IDEs for PHP and C++. PHP was created in 1994 and has undergone several versions to support new features and platforms. It uses object-oriented and reflection paradigms. PHP code is interpreted and dynamically typed. Popular IDEs for PHP include Eclipse, Visual PHP, and Dreamweaver. C++ was created in 1979 by Bjarne Stroustrup as an enhancement to C, supporting features like classes, templates, and exceptions. It uses procedural, object-oriented, and generic parad
This document outlines the syllabus for a course on Object Oriented Programming in Java. The course objectives are to familiarize students with OOP concepts and reinforce them through Java implementation. Topics covered include language components, object modeling, OOP basics, methods, arrays, strings, encapsulation, inheritance, polymorphism, exceptions, files, graphics, and database programming. Students will complete assignments and a group project. The assignments have strict deadlines and plagiarized work will not be accepted.
The document provides an overview of programming languages and the program development life cycle (PDLC). It discusses several types of programming languages including machine/assembly languages, algorithmic languages, business-oriented languages, education-oriented languages, and object-oriented languages. It also describes the six main steps of the PDLC: defining the problem, designing the program, coding the program, testing and debugging the program, documenting the program, and deploying and maintaining the program.
This document discusses programming languages and their key concepts. It defines a programming language as a set of rules that tells a computer what operations to perform. It describes the syntax, semantics, and pragmatics of languages. It also discusses different language paradigms like imperative, functional, object-oriented, and rule-based languages. Finally, it outlines criteria for evaluating languages, including readability, writability, reliability, and cost.
Programming involves writing computer programs and algorithms using programming languages. There are different types of programming languages from low-level machine languages close to hardware to high-level languages that are more abstract. Popular programming paradigms have evolved over time like structured programming, modular programming, object-oriented programming, and declarative programming to help manage complex programs. The most commonly used programming languages today include Java, Python, and JavaScript.
The document discusses key concepts related to programming languages including:
1. Programming languages are influenced by computer architecture, particularly the von Neumann architecture, and programming methodologies like structured programming and object-oriented programming.
2. There are different types of programming languages including imperative, functional, logic, and object-oriented languages.
3. When designing languages, there are trade-offs between factors like reliability and performance that must be considered.
4. Programming languages can be implemented via compilation, interpretation, or hybrid approaches like just-in-time compilation. Compilers translate to machine code while interpreters execute programs directly.
This document discusses different types of programming languages including procedural languages, object-oriented programming, visual languages, markup languages, and scripting languages. Procedural languages break tasks into procedures or subroutines. Object-oriented programming breaks programs into objects that can perform tasks and communicate. Visual languages have graphical user interfaces and allow programming via forms and objects. Markup languages use tags to structure text and include images. Scripting languages can be typed directly and are often used to automate tasks. The best choice of language depends on factors like organizational needs and resources.
The document discusses several topics related to programming fundamentals:
- Structured programming breaks large programs into smaller, manageable functions or modules.
- Unstructured programming executes sequentially with no jumping between lines of code.
- Object-oriented programming organizes programs around data and objects rather than functions and logic.
- Other OOP concepts discussed include classes, objects, encapsulation, inheritance, polymorphism, and abstraction.
- The document also discusses different types of programming languages like machine language, assembly language, procedural languages, visual languages, and scripting languages.
Procedural Programming Of Programming LanguagesTammy Moncrief
油
Here is a summary of the key points about the specification of the Java programming language:
Java is an object-oriented programming language developed by Sun Microsystems. Some of the main specifications of the Java programming language include:
- Platform independence: Java code can run on any platform that has a Java virtual machine (JVM) without needing to be recompiled. This allows Java programs to run on various operating systems like Windows, Linux, macOS, etc.
- Object-oriented: Java follows the OOP paradigm with concepts like classes, objects, inheritance, polymorphism, etc. Everything in Java is an object.
- Simple, familiar and general-purpose: Java syntax is based on C and C++ but
This document provides an overview of programming paradigms and the Java programming language. It discusses imperative, declarative, and object-oriented paradigms. For Java specifically, it outlines the Java Virtual Machine (JVM), key features of Java like being portable, object-oriented, and secure. It also describes the Java programming hierarchy from machine language to high-level languages. The document provides details on Java concepts like classes, inheritance, and the classloader.
This document provides an overview of programming paradigms and the Java programming language. It discusses imperative, declarative, and object-oriented programming paradigms. Imperative programming is procedure-based and focuses on how to achieve tasks through state changes. Declarative programming focuses on what needs to be done rather than how. The document also outlines the Java programming hierarchy from machine language to high-level languages. It provides details on Java features like being simple, object-oriented, portable, platform independent, secure, robust, and supporting multithreading.
The document describes the evolution of programming languages from machine languages to high-level languages, and how a program written in a high-level language is translated into machine language. It discusses four main programming paradigms - procedural, object-oriented, functional, and declarative - and provides details on the procedural paradigm. Key aspects of the procedural paradigm include programs made up of procedures that manipulate passive data items, and common procedural languages like FORTRAN, COBOL, Pascal, C, and Ada.
CSC 600 is an advanced programming language design course taught by Dr. Jozo Dujmovi. The course objectives are to expose students to different categories of programming languages beyond object-oriented languages, and develop practical programming skills in procedural, non-procedural, logic, functional, and object-oriented paradigms. Students will learn programming concepts, language-independent algorithmic thinking, and be able to understand, translate, and reuse legacy software. The course aims to prepare students to work with multiple languages and programming teams.
CSC 600 is an advanced programming language design course taught by Dr. Jozo Dujmovi. The course objectives are to expose students to different categories of programming languages beyond object-oriented languages, and develop practical programming skills in procedural, non-procedural, logic, functional, and object-oriented paradigms. Students will learn programming concepts, language-independent algorithmic thinking, and be able to understand, translate, and reuse legacy software. The course aims to prepare students to work with multiple languages and programming teams. Assessment is based on programming assignments, a midterm exam, and a final exam.
Top Programming Languages to Learn in 2024_ Insights from SKIPS BCA Program.pdfSKIPS University
油
Programming languages serve as a bridge for interaction between humans and computers.
Naturally, students might question the advantages of learning about programming language
concepts, especially since numerous other subjects within computer science merit in-depth
exploration
Programming language design and implemenationAshwini Awatare
油
The document discusses key topics in programming language design and implementation including:
1. The importance of studying programming languages to improve problem solving skills, learn new languages, and understand language design.
2. An overview of different programming paradigms like imperative, functional, object-oriented, and logic-based languages.
3. Factors that influence language design like software architectures, programming environments, internationalization needs, and standardization.
A Research Study of Data Collection and Analysis of Semantics of Programming ...IRJET Journal
油
This document summarizes a research study on data collection and analysis of programming language semantics. It discusses several key programming languages like C++, C, Pascal, Fortran, Java, Perl, PHP, and Scheme. It analyzes the features and usage of these languages. It also compares Python and R as good options for beginners in data science and discusses why Python may have a lower learning curve. Finally, it discusses the importance of incorporating semantic results into practical systems to help language designers and programmers better understand languages.
Articulo
The Online Journal of New Horizons in Education; vol. 3, no. 1
This work presents an open source web environment to learn GPSS language in Modeling and Simulation courses. With this environment, students build their models by selecting entities and configuring them instead of programming GPSS codes from scratch. Teachers can also create models so that students can apply, analyze and interpret results. Thus, it includes a simulation engine that stores snapshots of models as they are executed, and allows students to navigate through these snapshots. The environment may be combined with existing learning management systems.
Ver registro completo en: http://sedici.unlp.edu.ar/handle/10915/25669
Computer Science Is The Study Of Principals And How The...Laura Martin
油
Computer science is the study of principles of how computers work, which leads to computer programming. Computer programming is the process of formulating a computing problem and developing executable programs to solve it. It is important because many everyday devices like Microsoft Word had to be programmed to function. Common programming languages include Java, Python, C, C++, Ruby, and JavaScript. As a computer programmer, there are always new languages to learn and existing ones to refresh skills in due to constantly evolving technologies.
This document provides an overview of object-oriented programming concepts and the Java programming language. It discusses the basic syntax of Java, including classes, objects, methods, and variables. It also covers Java data types, operators, and expressions. The document is part of a course on applying object-oriented programming language skills and includes self-check questions for students.
This document discusses the design of a smart emotion-based music player with a sleep alert system. The proposed system uses a camera to capture a user's facial expressions in order to analyze their emotions. Based on the emotion detected, the music player will select music accordingly. The system also monitors eye blinking and yawning frequency to detect sleepiness and will alert the user. The goal is to introduce an application of facial expression recognition technology and develop a music player that responds to user emotion and alerts them if sleepy.
Student X needs to transform 200 data files into plain text files but does not know how to write a program to automate this task. Student Y inherited a C program from another student but views it as a "black box" and wants to avoid changing or extending its implementation. The document argues that students need to learn how to read, understand, test, and modify programs, rather than viewing them as impenetrable boxes. It advocates teaching students modern scripting languages that are interpreted and easier to work with interactively in order to improve programming skills and encourage experimentation with ideas.
These slides were used to teach the module "Introduction to Agile Software Development & Python" as a sub-section of the major course "Software Engineering" for the 3rd year undergraduates of the Department of Computer Engineering, University of Peradeniya in 2010.
Programming involves writing computer programs and algorithms using programming languages. There are different types of programming languages from low-level machine languages close to hardware to high-level languages that are more abstract. Popular programming paradigms have evolved over time like structured programming, modular programming, object-oriented programming, and declarative programming to help manage complex programs. The most commonly used programming languages today include Java, Python, and JavaScript.
The document discusses key concepts related to programming languages including:
1. Programming languages are influenced by computer architecture, particularly the von Neumann architecture, and programming methodologies like structured programming and object-oriented programming.
2. There are different types of programming languages including imperative, functional, logic, and object-oriented languages.
3. When designing languages, there are trade-offs between factors like reliability and performance that must be considered.
4. Programming languages can be implemented via compilation, interpretation, or hybrid approaches like just-in-time compilation. Compilers translate to machine code while interpreters execute programs directly.
This document discusses different types of programming languages including procedural languages, object-oriented programming, visual languages, markup languages, and scripting languages. Procedural languages break tasks into procedures or subroutines. Object-oriented programming breaks programs into objects that can perform tasks and communicate. Visual languages have graphical user interfaces and allow programming via forms and objects. Markup languages use tags to structure text and include images. Scripting languages can be typed directly and are often used to automate tasks. The best choice of language depends on factors like organizational needs and resources.
The document discusses several topics related to programming fundamentals:
- Structured programming breaks large programs into smaller, manageable functions or modules.
- Unstructured programming executes sequentially with no jumping between lines of code.
- Object-oriented programming organizes programs around data and objects rather than functions and logic.
- Other OOP concepts discussed include classes, objects, encapsulation, inheritance, polymorphism, and abstraction.
- The document also discusses different types of programming languages like machine language, assembly language, procedural languages, visual languages, and scripting languages.
Procedural Programming Of Programming LanguagesTammy Moncrief
油
Here is a summary of the key points about the specification of the Java programming language:
Java is an object-oriented programming language developed by Sun Microsystems. Some of the main specifications of the Java programming language include:
- Platform independence: Java code can run on any platform that has a Java virtual machine (JVM) without needing to be recompiled. This allows Java programs to run on various operating systems like Windows, Linux, macOS, etc.
- Object-oriented: Java follows the OOP paradigm with concepts like classes, objects, inheritance, polymorphism, etc. Everything in Java is an object.
- Simple, familiar and general-purpose: Java syntax is based on C and C++ but
This document provides an overview of programming paradigms and the Java programming language. It discusses imperative, declarative, and object-oriented paradigms. For Java specifically, it outlines the Java Virtual Machine (JVM), key features of Java like being portable, object-oriented, and secure. It also describes the Java programming hierarchy from machine language to high-level languages. The document provides details on Java concepts like classes, inheritance, and the classloader.
This document provides an overview of programming paradigms and the Java programming language. It discusses imperative, declarative, and object-oriented programming paradigms. Imperative programming is procedure-based and focuses on how to achieve tasks through state changes. Declarative programming focuses on what needs to be done rather than how. The document also outlines the Java programming hierarchy from machine language to high-level languages. It provides details on Java features like being simple, object-oriented, portable, platform independent, secure, robust, and supporting multithreading.
The document describes the evolution of programming languages from machine languages to high-level languages, and how a program written in a high-level language is translated into machine language. It discusses four main programming paradigms - procedural, object-oriented, functional, and declarative - and provides details on the procedural paradigm. Key aspects of the procedural paradigm include programs made up of procedures that manipulate passive data items, and common procedural languages like FORTRAN, COBOL, Pascal, C, and Ada.
CSC 600 is an advanced programming language design course taught by Dr. Jozo Dujmovi. The course objectives are to expose students to different categories of programming languages beyond object-oriented languages, and develop practical programming skills in procedural, non-procedural, logic, functional, and object-oriented paradigms. Students will learn programming concepts, language-independent algorithmic thinking, and be able to understand, translate, and reuse legacy software. The course aims to prepare students to work with multiple languages and programming teams.
CSC 600 is an advanced programming language design course taught by Dr. Jozo Dujmovi. The course objectives are to expose students to different categories of programming languages beyond object-oriented languages, and develop practical programming skills in procedural, non-procedural, logic, functional, and object-oriented paradigms. Students will learn programming concepts, language-independent algorithmic thinking, and be able to understand, translate, and reuse legacy software. The course aims to prepare students to work with multiple languages and programming teams. Assessment is based on programming assignments, a midterm exam, and a final exam.
Top Programming Languages to Learn in 2024_ Insights from SKIPS BCA Program.pdfSKIPS University
油
Programming languages serve as a bridge for interaction between humans and computers.
Naturally, students might question the advantages of learning about programming language
concepts, especially since numerous other subjects within computer science merit in-depth
exploration
Programming language design and implemenationAshwini Awatare
油
The document discusses key topics in programming language design and implementation including:
1. The importance of studying programming languages to improve problem solving skills, learn new languages, and understand language design.
2. An overview of different programming paradigms like imperative, functional, object-oriented, and logic-based languages.
3. Factors that influence language design like software architectures, programming environments, internationalization needs, and standardization.
A Research Study of Data Collection and Analysis of Semantics of Programming ...IRJET Journal
油
This document summarizes a research study on data collection and analysis of programming language semantics. It discusses several key programming languages like C++, C, Pascal, Fortran, Java, Perl, PHP, and Scheme. It analyzes the features and usage of these languages. It also compares Python and R as good options for beginners in data science and discusses why Python may have a lower learning curve. Finally, it discusses the importance of incorporating semantic results into practical systems to help language designers and programmers better understand languages.
Articulo
The Online Journal of New Horizons in Education; vol. 3, no. 1
This work presents an open source web environment to learn GPSS language in Modeling and Simulation courses. With this environment, students build their models by selecting entities and configuring them instead of programming GPSS codes from scratch. Teachers can also create models so that students can apply, analyze and interpret results. Thus, it includes a simulation engine that stores snapshots of models as they are executed, and allows students to navigate through these snapshots. The environment may be combined with existing learning management systems.
Ver registro completo en: http://sedici.unlp.edu.ar/handle/10915/25669
Computer Science Is The Study Of Principals And How The...Laura Martin
油
Computer science is the study of principles of how computers work, which leads to computer programming. Computer programming is the process of formulating a computing problem and developing executable programs to solve it. It is important because many everyday devices like Microsoft Word had to be programmed to function. Common programming languages include Java, Python, C, C++, Ruby, and JavaScript. As a computer programmer, there are always new languages to learn and existing ones to refresh skills in due to constantly evolving technologies.
This document provides an overview of object-oriented programming concepts and the Java programming language. It discusses the basic syntax of Java, including classes, objects, methods, and variables. It also covers Java data types, operators, and expressions. The document is part of a course on applying object-oriented programming language skills and includes self-check questions for students.
This document discusses the design of a smart emotion-based music player with a sleep alert system. The proposed system uses a camera to capture a user's facial expressions in order to analyze their emotions. Based on the emotion detected, the music player will select music accordingly. The system also monitors eye blinking and yawning frequency to detect sleepiness and will alert the user. The goal is to introduce an application of facial expression recognition technology and develop a music player that responds to user emotion and alerts them if sleepy.
Student X needs to transform 200 data files into plain text files but does not know how to write a program to automate this task. Student Y inherited a C program from another student but views it as a "black box" and wants to avoid changing or extending its implementation. The document argues that students need to learn how to read, understand, test, and modify programs, rather than viewing them as impenetrable boxes. It advocates teaching students modern scripting languages that are interpreted and easier to work with interactively in order to improve programming skills and encourage experimentation with ideas.
These slides were used to teach the module "Introduction to Agile Software Development & Python" as a sub-section of the major course "Software Engineering" for the 3rd year undergraduates of the Department of Computer Engineering, University of Peradeniya in 2010.
We need to layer the technology onto existing workflows
Follow the teachers who inspire you because that instills passion Curiosity & Lifelong Learning.
You can benefit from generative AI even when its intelligence is worse-because of the potential for cost and time savings in low-cost-of-error environments.
Bot tutors are already yielding effective results on learning and mastery.
GenAI may increase the digital divide- its gains may accrue disproportionately to those who already have domain expertise.
GenAI can be used for Coding
Complex structures
Make the content
Manage the content
Solutions to complex numerical problems
Lesson plan
Assignment
Quiz
Question bank
Report & summary of content
Creating videos
Title of abstract & summaries and much more like...
Improving Grant Writing
Learning by Teaching Chatbots
GenAI as peer Learner
Data Analysis for Non-Coders
Student Course Preparation
To reduce Plagiarism
Legal Problems for classes
Understanding Student Learning in Real Time
Simulate a poor
Faculty co-pilot chatbot
Generate fresh Assessments
Data Analysis Partner
Summarize student questions in real-time
Assess depth of students' understanding
The skills to foster are Listening
Communicating
Approaching the problem & solving
Making Real Time Decisions
Logic
Refining Memories
Learning Cultures & Syntax (Foreign Language)
Chatbots & Agentic AI can never so what a professor can do.
The need of the hour is to teach Creativity
Emotions
Judgement
Psychology
Communication
Human Emotions
Through various content!
Pass SAP C_C4H47_2503 in 2025 | Latest Exam Questions & Study MaterialJenny408767
油
Pass SAP C_C4H47_2503 with expert-designed practice tests & real questions. Start preparing today with ERPPrep.com and boost your SAP Sales Cloud career!
Marketing is Everything in the Beauty Business! 憓 Talent gets you in the ...coreylewis960
油
Marketing is Everything in the Beauty Business! 憓
Talent gets you in the gamebut visibility keeps your chair full.
Todays top stylists arent just skilledtheyre seen.
Thats where MyFi Beauty comes in.
We Help You Get Noticed with Tools That Work:
Social Media Scheduling & Strategy
We make it easy for you to stay consistent and on-brand across Instagram, Facebook, TikTok, and more.
Youll get content prompts, captions, and posting tools that do the work while you do the hair.
ワ Your Own Personal Beauty App
Stand out from the crowd with a custom app made just for you. Clients can:
Book appointments
Browse your services
View your gallery
Join your email/text list
Leave reviews & refer friends
種 Offline Marketing Made Easy
We provide digital flyers, QR codes, and branded business cards that connect straight to your appturning strangers into loyal clients with just one tap.
ッ The Result?
You build a strong personal brand that reaches more people, books more clients, and grows with you. Whether youre just starting out or trying to level upMyFi Beauty is your silent partner in success.
A Systematic Review:
Provides a clear and transparent process
Facilitates efficient integration of information for rational decision
making
Demonstrates where the effects of health care are consistent and
where they do vary
Minimizes bias (systematic errors) and reduce chance effects
Can be readily updated, as needed.
Meta-analysis can provide more precise estimates than individual
studies
Allows decisions based on evidence , whole of it and not partial
How to Setup Company Data in Odoo 17 Accounting AppCeline George
油
The Accounting module in Odoo 17 is a comprehensive tool designed to manage all financial aspects of a business. It provides a range of features that help with everything from day-to-day bookkeeping to advanced financial analysis.
Team Science in the AI Era: Talk for the Association of Cancer Center Administrators (ACCA) Team Science Network (April 2, 2025, 3pm ET)
Host: Jill Slack-Davis (https://www.linkedin.com/in/jill-slack-davis-56024514/)
20250402 Team Science in the AI Era
These slides: TBD
Jim Twin V1 (English video - Heygen) - https://youtu.be/T4S0uZp1SHw
Jim Twin V1 (French video - Heygen) - https://youtu.be/02hCGRJnCoc
Jim Twin (Chat) Tmpt.me Platform https://tmpt.app/@jimtwin
Jim Twin (English video OpenSource) https://youtu.be/mwnZjTNegXE
Jim Blog Post - https://service-science.info/archives/6612
Jim EIT Article (Real Jim) - https://www.eitdigital.eu/newsroom/grow-digital-insights/personal-ai-digital-twins-the-future-of-human-interaction/
Jim EIT Talk (Real Jim) - https://youtu.be/_1X6bRfOqc4
Reid Hoffman (English video) - https://youtu.be/rgD2gmwCS10
General Quiz at Maharaja Agrasen College | Amlan Sarkar | Prelims with Answer...Amlan Sarkar
油
Prelims (with answers) + Finals of a general quiz originally conducted on 13th November, 2024.
Part of The Maharaja Quiz - the Annual Quiz Fest of Maharaja Agrasen College, University of Delhi.
Feedback welcome at amlansarkr@gmail.com
Anorectal malformations refer to a range of congenital anomalies that involve the anus, rectum, and sometimes the urinary and genital organs. They result from abnormal development during the embryonic stage, leading to incomplete or absent formation of the rectum, anus, or both.
2. Course Overview
Objectives: The Structured Programming Language course is
designed to introduce the fundamental principles, mechanism of
programming skills and develop basic programming skills. The
course begins with introductory concepts of structured
programming language and then covers other important topics
related to structured programming language. It also deals with
basic data structures like stack and queue.
Reading Materials : Lecture materials and reference books.
Assessment Strategy:
Continuous Assessment (50%)
Class Tests-10% (3 MCQs + 1Written)
Presentation/Assignments-10%
Attendance-10%
Mid Term-20%
Final-50%
January 10, 2025 Md. Rafsan Jani, Assistant Professor, Dept. of CSE, JU 2
3. Course Outline
Week Date Topics Covered Remarks
1
August 19 Course Overview, Programming Concepts, Program Development Stages, Structured Programming Language
August 22 Variables, Basic Input/Outputs, Data Types and Their Memory Allocation
2
August 26 Holiday Janmashtami
August 29
Data Types, Variables, Constants, Number System: Binary, Octal, Decimal, and Hexadecimal Systems; Basic
Input/Outputs
3
September 2 Operators, Expressions, Flow Charts
September 5 Control Structures: "if else", "switch", Flow Charts
4
September 9 Control Structures: Loops (for, while, do-while) Class Test 1
September 12 Control Structures: Loops (for, while, do-while)
5
September 16 Holiday Eid-E-Miladunnabi
September 19 Control Structures: Nested Loops
6
September 23 Arrays-I
September 26 Arrays-II
7
September 30 Searching and Sorting Class Test 2/Midterm
October 3 Character Arrays/Strings
8
October 7 Functions-I
October 10 Functions-II
9
October 14 Pointers-I Class Test 2/Midterm
October 17 Pointers-II
10
October 21 Dynamic Memory Allocation-I
October 24 Dynamic Memory Allocation-II
11
October 28 Recursion-I
October 31 Recursion-II
12
November 4 Structures, Unions, Enumerations Class Test 3
November 7 File I/O; Header Files, Preprocessor Directives
13
November 11 Miscellaneous-I
November 14 Miscellaneous-II
14
November 18 Stack, Queue, and Review
November 21 Stack, Queue, and Review Class Test 4
January 10, 2025 Md. Rafsan Jani, Assistant Professor, Dept. of CSE, JU 3
4. Section: BCSE-24-A
Class Code: bycmlpx
Section: BCSE-24-B
Class Code: kyzkekn
Google Classroom
January 10, 2025 Md. Rafsan Jani, Assistant Professor, Dept. of CSE, JU 4
5. Reference Books
1. Programming in ANSI C
By E. Balagurusamy
2. The C Programming Language
By Brian Kernighan and Dennis Ritchie
3. TeachYourself C
By Herbert Schildt
January 10, 2025 Md. Rafsan Jani, Assistant Professor, Dept. of CSE, JU 5
6. What Is a Computer?
Computer is a
device capable of performing computations and making logical
decisions
January 10, 2025 Md. Rafsan Jani, Assistant Professor, Dept. of CSE, JU 6
7. Copyright 息 2000 by Brooks/Cole Publishing Company
A division of International Thomson Publishing Inc.
Computer Architecture
January 10, 2025 Md. Rafsan Jani, Assistant Professor, Dept. of CSE, JU 7
8. What is Software?
Computer software, or simply software, is a generic
term that refers to a collection of computer instructions
that tell the computer what to do and how to do it.
Software is a program executed by computer.
Computers process data under the control of sets of
instructions called computer programs
Basically two Types:
System Software
Application Software
8
System
Software
Application
Software
Software
9. Application software
Easy-to-use programs designed to perform specific tasks
System software
Programs that manages resource(CPU, input/output/storage) and
support the execution and development of other programs
Mediates between application software and computer hardware
Three major types
Operating systems
Translation systems
Utility programs
Software Classifications
9
10. System software coordinates the various parts of the
computer system and mediates between application
software and computer hardware.
The system software that manages and controls the
computers activities is called the operating system.
Other system software consists of computer language
translation programs that convert programming
languages into machine language and utility programs
that perform common processing tasks
System Software
10
11. Operating System is a software, which makes a
computer to actually work. It is the software that enables
all the programs we use.
The Operating System organizes and controls the
hardware.
Operating System acts as an interface between the
application programs and the machine hardware.
Examples:
Windows
Linux
Unix and
Mac OS
etc.,
Operating System
11
12. Application Software
Application software makes computer popular and easy to
use
Common application software:
Microsoft Word,Word Perfect
PowerPoint
Netscape, Internet Explorer, Chrome
Photoshop, Photo-Paint
Quick Time
Dreamweaver
12
14. Program
A program is a specific set of operations to perform.
Human work model:
Computer work model:
A computer program is a collection of instructions that
performs a specific task when executed by a computer.
A computer program is usually written by a computer
programmer in a programming language.
January 10, 2025 Md. Rafsan Jani, Assistant Professor, Dept. of CSE, JU 14
15. Language Types
1. Low-Level Programming Languages
Machine Language:The most basic type of programming
language, consisting of binary code that the computer's hardware
directly understands. It is specific to a particular computer
architecture.
Assembly Language:A step above machine language, assembly
uses mnemonic codes to represent machine language
instructions. It is still closely tied to the hardware, making it
difficult to use for complex applications, but it provides more
control over the hardware.
January 10, 2025 Md. Rafsan Jani, Assistant Professor, Dept. of CSE, JU 15
16. Language Types Cont
2. High-Level Programming Languages
Procedural Programming Languages:These languages are based on the concept of
procedure calls, where code is organized into procedures or functions. Examples include: C,
Pascal, FORTRAN
Object-Oriented Programming (OOP) Languages:These languages are based on the
concept of "objects", which can contain data and code to manipulate that data. Examples
include: Java, C++, Python, C#
Scripting Languages:These are typically high-level languages used for automating tasks.
They are often interpreted rather than compiled. Examples include: JavaScript, Python, Ruby,
PHP
Functional Programming Languages:These languages treat computation as the
evaluation of mathematical functions and avoid changing states and mutable data. Examples
include: Haskell, Erlang, Scala
Logic Programming Languages:These languages are based on formal logic.A program
written in a logic programming language is essentially a set of sentences in logical form,
expressing facts and rules about some problem domain. Example: Prolog
January 10, 2025 Md. Rafsan Jani, Assistant Professor, Dept. of CSE, JU 16
17. Language Types Cont
3. Domain-Specific Languages (DSLs): These languages are designed
for a specific type of task or industry.They are often less general-purpose
and more efficient within their domain. Examples include:
SQL for database queries
HTML/CSS for web design
MATLAB for mathematical computing
4. System Programming Languages: These languages are used for
system software, such as operating systems, drivers, and embedded
systems.They need to interact closely with the hardware. Examples
include: C, Rust, Go
5.Visual Programming Languages: These languages allow users to
create programs by manipulating program elements graphically rather
than by specifying them textually. Examples include: Scratch, LabVIEW,
Blockly
January 10, 2025 Md. Rafsan Jani, Assistant Professor, Dept. of CSE, JU 17
18. Language Types Cont
6. Markup and Style Sheet Languages: Though not
traditional programming languages, these are used to
define the structure and presentation of text in
documents, especially on the web. Examples include:
HTML (HyperText Markup Language)
XML (eXtensible Markup Language)
CSS (Cascading Style Sheets)
January 10, 2025 Md. Rafsan Jani, Assistant Professor, Dept. of CSE, JU 18
19. Machine language Low-level assembly High-level
An example:
January 10, 2025 Md. Rafsan Jani, Assistant Professor, Dept. of CSE, JU 19
20. Translation
High level language must be translated into a language
the computer can understand
January 10, 2025 Md. Rafsan Jani, Assistant Professor, Dept. of CSE, JU 20
High-level
Code
Compiler /
Interpreter
Machine
Instruction
s
21. How to translate?
Examples of compilers:
gcc, g++, MicrosoftVisual C++
A program written in high-level programming language
(for example, C program)
A low-level (machine language) program that is
understandable by a computer (for example, a PC)
COMPILER (for example, gcc)
January 10, 2025 Md. Rafsan Jani, Assistant Professor, Dept. of CSE, JU 21
22. Compiler vs Interpreter
Features Compiler Interpreter
Definition
Translates the entire source code into machine
code before execution.
Translates and executes code line-by-line or
statement-by-statement.
Execution
The entire program is translated at once and then
executed.
Each statement is translated and executed
immediately.
Speed
Faster execution after compilation, as the entire
code is translated into machine code beforehand.
Slower execution since each line is translated and
executed one at a time.
Error Detection
Errors are detected only after the entire program
is compiled.
Errors are detected immediately as each line is
executed.
Intermediate Code
Generates an intermediate object code or
machine code that can be saved and executed
later.
No intermediate code is generated; execution
happens directly.
Memory
Requirement
Requires more memory to store both source code
and object code.
Requires less memory, as it doesnt store an
intermediate object code.
Debugging
More difficult to debug, as errors are reported
after the entire program is compiled.
Easier to debug, as errors are found and reported
during execution.
Languages
Examples
C, C++, Java (when compiled to bytecode),
Fortran, Pascal.
Python, Ruby, JavaScript, MATLAB, Perl.
Portability
The compiled code is specific to the target
machine's architecture and may not be portable.
The source code remains portable and can be
executed on any machine with the appropriate
interpreter.
Typical Use Case
Used in situations where performance is critical,
such as system software and large applications.
Common in scripting, web development, and
applications where ease of testing and debugging
is important.
January 10, 2025 Md. Rafsan Jani, Assistant Professor, Dept. of CSE, JU 22