The document discusses programming language evolution, paradigms, and translators. It describes how programming languages have evolved from machine language to assembly language to high-level languages. It outlines four main programming paradigms: imperative, object-oriented, functional, and logic programming. It also defines the three main types of translators - assemblers, compilers, and interpreters - and explains their functions in translating programs to machine-executable code.
DISCLAIMER: This Presentation is made for educational purposes only.
Introduction to Computer Programming, Computer Language, History of Computer Language, Hierarchy of High-Level Languages, Algorithm, Data Types and Arduino
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi Professor Lili Saghafi
A programming language is a notation designed to connect instructions to a machine or a computer.
Programming languages are mainly used to control the performance of a machine or to express algorithms.
At present, thousands of programming languages have been implemented.
In the computer field, many languages need to be stated in an imperative form, while other programming languages utilize declarative form.
The program can be divided into two forms such as syntax and semantics.
DISCLAIMER: This Presentation is made for educational purposes only.
Introduction to Computer Programming, Computer Language, History of Computer Language, Hierarchy of High-Level Languages, Algorithm, Data Types and Arduino
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi Professor Lili Saghafi
A programming language is a notation designed to connect instructions to a machine or a computer.
Programming languages are mainly used to control the performance of a machine or to express algorithms.
At present, thousands of programming languages have been implemented.
In the computer field, many languages need to be stated in an imperative form, while other programming languages utilize declarative form.
The program can be divided into two forms such as syntax and semantics.
Show drafts
volume_up
Empowering the Data Analytics Ecosystem: A Laser Focus on Value
The data analytics ecosystem thrives when every component functions at its peak, unlocking the true potential of data. Here's a laser focus on key areas for an empowered ecosystem:
1. Democratize Access, Not Data:
Granular Access Controls: Provide users with self-service tools tailored to their specific needs, preventing data overload and misuse.
Data Catalogs: Implement robust data catalogs for easy discovery and understanding of available data sources.
2. Foster Collaboration with Clear Roles:
Data Mesh Architecture: Break down data silos by creating a distributed data ownership model with clear ownership and responsibilities.
Collaborative Workspaces: Utilize interactive platforms where data scientists, analysts, and domain experts can work seamlessly together.
3. Leverage Advanced Analytics Strategically:
AI-powered Automation: Automate repetitive tasks like data cleaning and feature engineering, freeing up data talent for higher-level analysis.
Right-Tool Selection: Strategically choose the most effective advanced analytics techniques (e.g., AI, ML) based on specific business problems.
4. Prioritize Data Quality with Automation:
Automated Data Validation: Implement automated data quality checks to identify and rectify errors at the source, minimizing downstream issues.
Data Lineage Tracking: Track the flow of data throughout the ecosystem, ensuring transparency and facilitating root cause analysis for errors.
5. Cultivate a Data-Driven Mindset:
Metrics-Driven Performance Management: Align KPIs and performance metrics with data-driven insights to ensure actionable decision making.
Data Storytelling Workshops: Equip stakeholders with the skills to translate complex data findings into compelling narratives that drive action.
Benefits of a Precise Ecosystem:
Sharpened Focus: Precise access and clear roles ensure everyone works with the most relevant data, maximizing efficiency.
Actionable Insights: Strategic analytics and automated quality checks lead to more reliable and actionable data insights.
Continuous Improvement: Data-driven performance management fosters a culture of learning and continuous improvement.
Sustainable Growth: Empowered by data, organizations can make informed decisions to drive sustainable growth and innovation.
By focusing on these precise actions, organizations can create an empowered data analytics ecosystem that delivers real value by driving data-driven decisions and maximizing the return on their data investment.
Adjusting primitives for graph : SHORT REPORT / NOTESSubhajit Sahu
Graph algorithms, like PageRank Compressed Sparse Row (CSR) is an adjacency-list based graph representation that is
Multiply with different modes (map)
1. Performance of sequential execution based vs OpenMP based vector multiply.
2. Comparing various launch configs for CUDA based vector multiply.
Sum with different storage types (reduce)
1. Performance of vector element sum using float vs bfloat16 as the storage type.
Sum with different modes (reduce)
1. Performance of sequential execution based vs OpenMP based vector element sum.
2. Performance of memcpy vs in-place based CUDA based vector element sum.
3. Comparing various launch configs for CUDA based vector element sum (memcpy).
4. Comparing various launch configs for CUDA based vector element sum (in-place).
Sum with in-place strategies of CUDA mode (reduce)
1. Comparing various launch configs for CUDA based vector element sum (in-place).
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...pchutichetpong
M Capital Group (“MCG”) expects to see demand and the changing evolution of supply, facilitated through institutional investment rotation out of offices and into work from home (“WFH”), while the ever-expanding need for data storage as global internet usage expands, with experts predicting 5.3 billion users by 2023. These market factors will be underpinned by technological changes, such as progressing cloud services and edge sites, allowing the industry to see strong expected annual growth of 13% over the next 4 years.
Whilst competitive headwinds remain, represented through the recent second bankruptcy filing of Sungard, which blames “COVID-19 and other macroeconomic trends including delayed customer spending decisions, insourcing and reductions in IT spending, energy inflation and reduction in demand for certain services”, the industry has seen key adjustments, where MCG believes that engineering cost management and technological innovation will be paramount to success.
MCG reports that the more favorable market conditions expected over the next few years, helped by the winding down of pandemic restrictions and a hybrid working environment will be driving market momentum forward. The continuous injection of capital by alternative investment firms, as well as the growing infrastructural investment from cloud service providers and social media companies, whose revenues are expected to grow over 3.6x larger by value in 2026, will likely help propel center provision and innovation. These factors paint a promising picture for the industry players that offset rising input costs and adapt to new technologies.
According to M Capital Group: “Specifically, the long-term cost-saving opportunities available from the rise of remote managing will likely aid value growth for the industry. Through margin optimization and further availability of capital for reinvestment, strong players will maintain their competitive foothold, while weaker players exit the market to balance supply and demand.”
As Europe's leading economic powerhouse and the fourth-largest hashtag#economy globally, Germany stands at the forefront of innovation and industrial might. Renowned for its precision engineering and high-tech sectors, Germany's economic structure is heavily supported by a robust service industry, accounting for approximately 68% of its GDP. This economic clout and strategic geopolitical stance position Germany as a focal point in the global cyber threat landscape.
In the face of escalating global tensions, particularly those emanating from geopolitical disputes with nations like hashtag#Russia and hashtag#China, hashtag#Germany has witnessed a significant uptick in targeted cyber operations. Our analysis indicates a marked increase in hashtag#cyberattack sophistication aimed at critical infrastructure and key industrial sectors. These attacks range from ransomware campaigns to hashtag#AdvancedPersistentThreats (hashtag#APTs), threatening national security and business integrity.
🔑 Key findings include:
🔍 Increased frequency and complexity of cyber threats.
🔍 Escalation of state-sponsored and criminally motivated cyber operations.
🔍 Active dark web exchanges of malicious tools and tactics.
Our comprehensive report delves into these challenges, using a blend of open-source and proprietary data collection techniques. By monitoring activity on critical networks and analyzing attack patterns, our team provides a detailed overview of the threats facing German entities.
This report aims to equip stakeholders across public and private sectors with the knowledge to enhance their defensive strategies, reduce exposure to cyber risks, and reinforce Germany's resilience against cyber threats.
3. Programming Language Evolution
1. Machine Language
• Machine language is a collection of binary digits or bits that the
computer reads and interprets.
2. Assembly Language
• Uses symbolic operation code to represent the machine
operation code.
3. High level Language
• Uses English like statements
4. Programming Language Evolution
• High level language
Example : C++ Add 2 numbers
#include<iostream>
Void main()
{
int a, b, c;
cout <<“Enter two numbers:n”;
cin >>a;
cin >>b;
c = a+b;
cout <<“Sum of 2 numbers is {0}”, c);
}
• Machine Language
Example: check if low-order 4 bits of value in reg 1 = 0
2000 load load zero into reg 0
220F load load string 00001111 into reg 2
8312 AND c(reg 1) AND c(reg 2) —> reg 3 — masking
B3XY JMP jump to address XY if c(reg 3) = c(reg 0)
• Assembly Language
Example : Add 2 numbers
name "add"
mov al, 5 ; bin=00000101b
mov bl, 10 ; hex=0ah or bin=00001010b
add bl, al ; 5 + 10 = 15 (decimal) or hex=0fh or
bin=00001111b
5. Programming Language Paradigm
• Programming paradigm is a fundamental style of computer programming
• Programming paradigm is an approach to solving programming problems.
• Programming paradigm that describes computation in terms of
statements that change a program state.
• It defines sequences of commands for the computer to perform
• For example,
• X := X+2
• Assignment changes the value at a location.
• A program execution generates a sequence of states
6. Programming Language Paradigm
Common programming paradigms:
1.Imperative or Procedural Programming
2.Object-Oriented Programming
3.Functional Programming
4.Logic Programming
8. Programming Language Paradigm
1. Imperative or Procedural Programming
• a program is a series of statements containing variables.
• Program execution involves changing the memory contents of the computer
continuously.
• Example of imperative languages are: C, FORTRAN, Pascal, COBOL etc
• Advantages
low memory utilization
relatively efficient
the most common form of
programming in use today.
• Disadvantages
difficulty of reasoning about
programs
difficulty of parallelization.
Tend to be relatively low level
9. Programming Language Paradigm
2. Object-Oriented Programming
• A program in this paradigm consists of objects which communicate
with each other by sending messages
• Example object oriented languages include: Java, C#, Smalltalk, etc
• Advantages
Conceptual simplicity
Models computation better
Increased productivity
• Disadvantages
Can have a steep learning
curve, initially
Doing I/O can be cumbersome
10. Programming Language Paradigm
3. Functional Programming
• A program in this paradigm consists of functions and uses functions in a similar way as used in
mathematics
• Program execution involves functions calling each other and returning results. There are no variables
in functional languages
• Example functional languages include: ML, MirandaTM, Haskell
• Advantages
Small and clean syntax
Better support for reasoning about programs
They allow functions to be treated as any other data values.
They support programming at a relatively higher level than the
imperative languages
• Disadvantages
Difficulty of doing
input-output
Functional languages
use more storage space
than their imperative
cousins
11. Programming Language Paradigm
4. Logic Programming
• A program in the logic paradigm consists of a set of predicates and rules of inference.
Predicates are statements of fact like the statement that says: water is wet.
• Rules of inference are statements like: If X is human then X is mortal.
The predicates and the rules of inference are used to prove statements that the
programmer supplies.
• Example: Prolog
• Advantages
Good support for
reasoning about
programs
Can lead to concise
solutions to problems
• Disadvantages
Slow execution
Limited view of the world
That means the system does not know about facts that are
not its predicates and rules of inference.
Difficulties in understanding and debugging large programs
12. Translators
• A translator is a computer program that performs the translation
of a program written in a given programming language into
a functionally equivalent program in a different ways computer
language, without losing the functional or logical structure of the
original code (the "essence" of each program)
• Programs must be translated into machine codes before execution
14. Translators
1. Assembler
• Assembler is a computer program which is used to translate
program written in Assembly Language in to machine language.
• A program which translates an assembly language program into a
machine language program
• Assembler are used to convert assembly language code into
machine code.
15. Translators
2. Compiler
• A compiler is a program that translates a programme written in
HLL to executable machine language
• It is a program which translates a high level language program into
a machine language program.
• A compiler is more intelligent than an assembler.
• Compilers are used to convert high level languages (like C, C++ )
into machine code
16. Translators
3. Interpreter
• Interpreter translates each instruction, executes it and then the
next instruction is translated and this goes on until end of the
program.
• An interpreter is a program which translates statements of a
program into machine code.
• It translates only one statement of the program at a time.
• An interpreter is a computer program which executes a statement
directly (at runtime)