Spread Knowledge

Introduction to Computing - CS101

CS101 - Introduction to Computing - Lecture Handout 01

User Rating:  / 3

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Introduction

Charles Babbage (1791-1871)

Creator of the Analytical Engine - the first general-purpose digital computer (1833)
The Analytical Engine was not built until 1943 (in the form of the Harvard Mark I)

The Analytical Engine

A programmable, mechanical, digital machine
Could carryout any calculation
Could make decisions based upon the results of the previous calculation
Components: input; memory; processor; output

Read more: CS101 - Introduction to Computing - Lecture Handout 01

CS101 - Introduction to Computing - Lecture Handout 02

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Evolution of Computing

Today’s Goal

To learn about the evolution of computing
To recount the important and key events
To identify some of the milestones in computer development
Babbage’s Analytical Engine - 1833
Mechanical, digital, general-purpose
Was crank-driven
Could store instructions
Could perform mathematical calculations
Had the ability to print
Could punched cards as permanent memory
Invented by Joseph-Marie Jacquard

Turing Machine – 1936

Introduced by Alan Turing in 1936, Turing machines are one of the key abstractions used in modern computability theory, the study of what computers can and cannot do. A Turing machine is a particularly simple kind of computer, one whose operations are limited to reading and writing symbols on a tape, or moving along the tape to the left or
right. The tape is marked off into squares, each of which can be filled with at most one symbol. At any given point in its operation, the Turing machine can only read or write on one of these squares, the square located directly below its "read/write" head.

Read more: CS101 - Introduction to Computing - Lecture Handout 02

CS101 - Introduction to Computing - Lecture Handout 03

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Today’s Goal is to …

Become familiar with the World Wide Web
Become familiar with the Web’s structure and how the Web works
Learn about its genesis, its evolution, and its future
About its impact on computing, society, commerce

Browser

A browser is an application program that provides a way to look at and interact with all the information on the World Wide Web. The word "browser" seems to have originated prior to the Web as a generic term for user interfaces that let you browse (navigate through and read) text files online. By the time the first Web browser with a graphical user interface was generally available (Mosaic, in 1993), the term seemed to apply to Web content, too. Technically, a Web browser is a client program that uses the Hypertext Transfer Protocol (HTTP) to make requests of Web servers throughout the Internet on behalf of the browser user.

Read more: CS101 - Introduction to Computing - Lecture Handout 03

CS101 - Introduction to Computing - Lecture Handout 04

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Today’s Goal

To learn to classify computers according to their capability and targeted applications
To find out about the essential building blocks that make up a modern computer
Computer Types According to Capability

Computer Types According to Capability

Supercomputers

A supercomputer is a computer that performs at or near the currently highest operational rate for computers. A supercomputer is typically used for scientific and engineering applications that must handle very large databases or do a great amount of computation (or both). At any given time, there are usually a few well-publicized supercomputers that operate at the very latest and always incredible speeds.
Perhaps the best-known builder of supercomputers has been Cray Research, now a part of Silicon Graphics. Some supercomputers are at "supercomputer center," usually university research centers, some of which, in the United States, are interconnected on an Internet backbone (A backbone is a larger transmission line that carries data gathered from smaller lines that interconnect with it) known as vBNS or NSFNet.
At the high end of supercomputing are computers like IBM's "Blue Pacific," announced on October 29, 1998. Built in partnership with Lawrence Livermore National Laboratory in California, Blue Pacific is reported to operated at 3.9 teraflop (trillion floating point operations per second), 15,000 times faster than the average personal computer. It consists of 5,800 processors containing a total of 2.6 trillion bytes of memory and interconnected with five miles of cable.

Read more: CS101 - Introduction to Computing - Lecture Handout 04

CS101 - Introduction to Computing - Lecture Handout 05

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Today’s goal is quite simple …

To learn about the various components of the popular personnel computer.
How those things are put together to form a PC

PC Parts

Monitor
Keyboard
Mouse
Speaker/headphone
Microphone
CPU
Front buttons
Backside ports, fan, slots, cables

Read more: CS101 - Introduction to Computing - Lecture Handout 05

CS101 - Introduction to Computing - Lecture Handout 06

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Learning Goals for Today

To develop your personal Web page

To upload your Web page to VU’s Web server so that it becomes visible on the Internet as http://www.vu.edu.pk/~xxxxxxx/
where xxxxxxx is your user ID
http://www.vu.edu.pk/~altaf

personal Web page

Read more: CS101 - Introduction to Computing - Lecture Handout 06

CS101 - Introduction to Computing - Lecture Handout 07

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Goals for Today

Today we want to learn about the microprocessor, the key component, the brain, of a computer
We’ll learn about the function of a microprocessor
And its various sub-systems
Bus interface unit
Data & instruction cache memory
Instruction decoder
Arithmetic-Logic unit
Floating-point unit
Control unit

Read more: CS101 - Introduction to Computing - Lecture Handout 07

CS101 - Introduction to Computing - Lecture Handout 08

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Binary Numbers & Logic Operations

The focus of the last lecture was on the microprocessor

During that lecture we learnt about the function of the central component of a computer, the microprocessor
And its various sub-systems
Bus interface unit
Data & instruction cache memory
Instruction decoder
ALU
Floating-point unit
Control unit

Learning Goals for Today

To become familiar with number system used by the microprocessors - binary numbers
To become able to perform decimal-to-binary conversions
To understand the NOT, AND, OR and XOR logic operations – the fundamental operations that are available in all microprocessors

Read more: CS101 - Introduction to Computing - Lecture Handout 08

CS101 - Introduction to Computing - Lecture Handout 09

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

HTML Lists & Tables

(Web Development Lecture 3)

Today is our 3rd Web Dev lecture During our 2nd lecture on Web dev …
We learnt to develop our own Web pages in HTML
We learnt about some of the tags used in HTML pages
<BR>, <P>, </P>, <B>, <TITLE>, </TITLE>, <H1>, </H1>
<HTML></HTML>, <HEAD></HEAD>, <BODY></BODY>
<A HREF = “action” > label </A>, action=http:// or mailto:
We also learnt about how to upload our Web pages to VU’s Web server so that it becomes visible on the Internet as http://www.vu.edu.pk/~xxxxxxxx/ where xxxxxxxx is your VU user ID

Today’s Lecture

We will extend our Web pages by adding a few more tags
Specifically, we will learn about various types of lists that can be added to a Web page And also, about tables

Read more: CS101 - Introduction to Computing - Lecture Handout 09

CS101 - Introduction to Computing - Lecture Handout 10

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Computer Software

Lecture 8 was on the binary number system and logic operations

Learning Goals for Today

To discuss the role of software in computing systems
To learn to differentiate among software belonging to the system and application categories
To learn about software ownership
We mentioned in Lecture 4 that at the highest level, two things are required for computing
Hardware: The physical equipment in a computing environment such as the computer and its peripheral devices (printers, speakers...)

Software: The set of instructions that operates various parts of the hardware. Also termed as “computer program”

Computer Software

The HW needs SW to be useful; the SW needs HW to be useful
When the user needs something done by the computer, he/she gives instructions in the form of SW to computer HW
These instructions need to be written in a language that is readily understood by computer uP

Read more: CS101 - Introduction to Computing - Lecture Handout 10

CS101 - Introduction to Computing - Lecture Handout 11

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Operating Systems

Focus of the last lecture: computer SW
We found out about the role SW plays in a computing environment
We learned to distinguish between SW belonging to the system & application categories
Also discussed the different types of SW licenses:
Proprietary
Free
Open source
Shareware
Trialware

Learning Goals for Today

The role of the operating system in a computing environment
The various functions that an operating system performs
The main components of an operating system
Various types of operating systems

Read more: CS101 - Introduction to Computing - Lecture Handout 11

CS101 - Introduction to Computing - Lecture Handout 12

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Interactive Forms

(Web Development Lecture 4)

Focus of the last lecture was on HTML Lists & Tables
We learnt how to extend our Web pages by adding a few more tags
Specifically, we discussed various types of lists that can be added to a Web page – unordered, ordered and definition lists
And also, about tables: about various tags used in a table and their associated attributes

Today’s Lecture

We will try to understand the utility of forms on Web pages
We will find out about the various components that are used in a form
We will become able to build a simple, interactive form

Read more: CS101 - Introduction to Computing - Lecture Handout 12

CS101 - Introduction to Computing - Lecture Handout 13

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Application Software

The focus of the last lecture was on Operating Systems

Learning Goals for Today

To learn about application software
To become familiar with various software used in the following application areas:
e.g.
Scientific/engineering/graphics
Business
Productivity
Entertainment
Educational

Two Major Types of Software

System Software
Application Software

Read more: CS101 - Introduction to Computing - Lecture Handout 13

CS101 - Introduction to Computing - Lecture Handout 14

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Word Processing

Focus of the last lecture was on Application SW

Application SW are programs that interact directly with the user for the performance of a certain type of work
That work generally falls into one of the following usage areas
Scientific/engineering/graphics
Business
Productivity
Entertainment
Educational

Today’s Lecture

First among the four lectures that we plan to have on productivity software, a subcategory of application software
This first lecture will be on word processing
We’ll learn about what we mean by word processing and also desktop publishing
We’ll discuss the usage of various functions provided by common word processors

Read more: CS101 - Introduction to Computing - Lecture Handout 14

CS101 - Introduction to Computing - Lecture Handout 15

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

More on Interactive Forms

(Web Development Lecture 5)

Focus of the last lecture was on Interactive Forms

We looked at the utility of forms on Web pages
We found out about the various components that are used in a form
We became able to build a simple, interactive form

In Today’s Lecture …

We will learn ways of adding more interactivity to forms
We will get our first taste of JavaScript – the object-based language that we will be employing throughout the rest of the Web development part of this course
Last time we mentioned server-side scripts; today we will write (simple) client-side scripts in JavaScript

Read more: CS101 - Introduction to Computing - Lecture Handout 15

CS101 - Introduction to Computing - Lecture Handout 16

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Algorithms

Focus of the last lecture was on Word Processing

First among the four lectures that we plan to have on productivity software, a subcategory of application software
That first lecture was on WP
We learnt about what we mean by WP and also desktop publishing
We also discussed the usage of various functions provided by common WP’s

The Objective of Today’s Lecture

To become familiar with the concept of algorithms:
What they are?
What is their use?
What do they consist of?
What are the techniques used for representing them?

Read more: CS101 - Introduction to Computing - Lecture Handout 16

CS101 - Introduction to Computing - Lecture Handout 17

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Algorithms II

Focus of the last lecture was on Algorithms

Became familiar with the concept of algorithms:
What they are? (SEQUENCE OF STEPS)
What is their use?
What are their types?
What are the techniques used for representing them?
Pseudo code
Flowcharts
Actual code
Today …
We will continue our discussion on algorithms that we started during the 16th lecture
In particular, we will look at the building blocks that are used in all algorithms
We will also discuss the pseudo code and flowcharts for particular problems
In addition, we will outline the pros and cons of those two techniques

Read more: CS101 - Introduction to Computing - Lecture Handout 17

CS101 - Introduction to Computing - Lecture Handout 18

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Objects, Properties, Methods

(Web Development Lecture 6)

During the last lecture we continued our discussion on Interactive Forms

We got our first taste of JavaScript – the object-based language that we will be employing throughout the rest of the Web development part of this course
We developed a (simple) client-side script in JavaScript

During Today’s Lecture …

We will have a more formal introduction to JavaScript and client-side scripting
We will become able to appreciate the concept of objects in JavaScript
We will learn about the properties of those objects, and about how to read & modify them
We will become able to perform simple tasks through the application of methods

Read more: CS101 - Introduction to Computing - Lecture Handout 18

CS101 - Introduction to Computing - Lecture Handout 19

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Programming Languages

During the last lecture …

We continued our discussion on algorithms that we had started during the 16th lecture
In particular, we looked at the building blocks that are used in all algorithms
We also discussed the pseudo code and flowcharts for particular problems
In addition, we outlined the pros and cons of those two techniques
Last time we discussed what to implement
Today’s Lecture
Today we are going to discuss the tool that is used to implement SW
To understand the differences among low- & high-level, interpreted & compiled, and structured & object-oriented programming languages
To understand the role of programming languages in computing

WHAT IS PROGRAMING (CODING) ?

The process of telling the computer what to do

Read more: CS101 - Introduction to Computing - Lecture Handout 19

CS101 - Introduction to Computing - Lecture Handout 20

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

SW Development Methodology

We discussed the role of programming languages in computing
We also discussed the differences among low- & high-level, interpreted & compiled, and structured & object-oriented programming languages
We also discussed the object-oriented and the structured methodologies for SW design

Any Other SW Design Methodologies?

Spaghetti Design Methodology
The most popular software design (programming) methodology

Today’s Lecture

Development process of reasonably complex SW systems does not consist of “coding” only

We will become familiar with the various phases of the process that developers follow to develop SW systems of reasonable complexity

Read more: CS101 - Introduction to Computing - Lecture Handout 20

CS101 - Introduction to Computing - Lecture Handout 21

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Data Types & Operators

(Web Development Lecture 7)

  • Everything that JavaScript manipulates, it treats as an object – e.g. a window or a button
  • An object has properties – e.g. a window has size, position, status, etc.
  • An object can be manipulated with methods that are associated with that object – e.g. a resize a window with resizeTo(150, 200)

Object: A named collection of properties (data, state) & methods (instructions, behavior)

During the last lecture

we had a discussion on Objects, Properties, Methods

During the last lecture

Read more: CS101 - Introduction to Computing - Lecture Handout 21

CS101 - Introduction to Computing - Lecture Handout 22

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Spreadsheets

Today’s Lecture:

Spreadsheets

It was the first among the four lectures that we plan to have on productivity software
We learnt about what we mean by word processing and also desktop publishing
We also discussed the usage of various functions provided by common
Second among the four lectures that we plan to have on productivity software
This 2nd lecture is on spreadsheets
We’ll learn about why we are interested in spreadsheets
We’ll discuss the several common functions provided by popular spreadsheet SW programs

Business Plan for a New Software Development Company

The information provided in this business plan is confidential. Please do not disclose it without checking with me first. Thanks.

Read more: CS101 - Introduction to Computing - Lecture Handout 22

CS101 - Introduction to Computing - Lecture Handout 23

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Flow Control & Loops

(Web Development Lecture 8)

During the last lecture we had a discussion on Data Types, Variables & Operators

We found out about JavaScript data types
About variables and literals
We also discussed several operators supported by JavaScript
JavaScript Data Types
JavaScript recognizes & distinguishes among the following types of values:
Numbers
Booleans
Strings
Undefined
Variables
Variables give us the ability to manipulate data through reference instead of actual valueVariables are containers that hold values
Declaring Variables
Although JavaScript allows variable declaration, it does not require it - except in the case when we want to declare a variable being local (more on local variables later in the course!)

Read more: CS101 - Introduction to Computing - Lecture Handout 23

CS101 - Introduction to Computing - Lecture Handout 24

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Design Heuristics

During the last lecture …

We became familiar with the various phases of the process that developers follow to develop SW systems of reasonable complexity
We looked at a couple of problems related to the Waterfall SW development model

Today’s Lecture

Heuristics for System Architecting

We will try to understand the role of heuristics in architectural (or high-level) design
We will become familiar with a few popular design heuristics

Heuristic

Rule of thumb learned through trial & error
Common sense lesson drawn from experience
Qualitative principle, guideline, general judgement
Natural language description of experience

Read more: CS101 - Introduction to Computing - Lecture Handout 24

CS101 - Introduction to Computing - Lecture Handout 25

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Web Design for Usability

During the last lecture …:

We looked at the role of heuristics in architectural (or high-level) design
We also became familiar with a few popular design heuristics

Heuristic:

Rule of thumb learned through trial & error
Common sense lesson drawn from experience

Caution! Caution!

Heuristics don’t always lead to the best results
At times they even lead to the wrong ones, but mostly to results that are good-enough

Read more: CS101 - Introduction to Computing - Lecture Handout 25

CS101 - Introduction to Computing - Lecture Handout 26

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Arrays

(Web Development Lecture 9)

During the last lecture we had a discussion on Flow Control & Loops

We discussed the concept of flow control using the “if” and “switch” structures
And also the concept behind the “while” and “for” looping structures
We also solved simple problems using flow control and loop structures if…else --?-- switch If the action to be taken of the value of a single variable (or a single expression), use ‘switch’
When the action depends on the values of multiple variables (or expressions), use the ‘if...else’ structure

Compound Statements:

for: Example 1

Compound Statements

Read more: CS101 - Introduction to Computing - Lecture Handout 26

CS101 - Introduction to Computing - Lecture Handout 27

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Computer Networks

During the last lecture …

(Web Design for Usability)

  • We looked at the role of usability in Web design
  • We identified some of the factors affecting the usability of a Web page

Designs should be consistent & predictable (unified)

What’s a Good Site?

  • The one that achieves the result that it was designed for
  • Generally, that result can only be achieved by giving the user what s/he wants, as quickly as possible, without her/im expending much effort
  • One definition of usability: Let the user have what s/he wants, quickly, without much effort
  • “Quickly” is important!

  • Read more: CS101 - Introduction to Computing - Lecture Handout 27

CS101 - Introduction to Computing - Lecture Handout 28

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Introduction to the Internet

During the Last Lecture

(Computer Networks)

We looked at the role of networks in computing
We looked at several different types of networks
We familiarized ourselves with networking topologies and protocols

Computer Network

Multiple computers that are connected together to share information and other resources
Types of Computer Networks according to the network access policy Private Public

Types of Computer Networks

according to the distance between nodes LAN: Local Area Network
WAN: Wide Area Network

Read more: CS101 - Introduction to Computing - Lecture Handout 28

CS101 - Introduction to Computing - Lecture Handout 29

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Functions & Variable Scope

(Web Development Lecture 10)

During the last lecture we had a discussion on Arrays
We found out why we need arrays
We became able to use arrays in conjunction with the ‘for’ loop for solving simple problems

Array

An indexed list of elements
A variable is a container that holds a value
Similarly, an Array can be considered a container as well, but this one is more interesting as it can hold multiple values

 Array

Read more: CS101 - Introduction to Computing - Lecture Handout 29

CS101 - Introduction to Computing - Lecture Handout 30

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Internet Services

During the last lecture …

(Introduction to the Internet)

We looked at the role Internet plays in today’s computing
We reviewed some of the history and evolution of the Internet

Internet: The Enabler

Enables attractively-priced workers located in Pakistan to provide services to overseas clients
Enables users to easily share information with others located all over the world
Enables users to easily, inexpensively communicate with others remote users
Enables the users to operate and run programs on computers located all over the world

The Internet is unlike any previous human invention. It is a world-wide resource, accessible to all of the humankind.

Read more: CS101 - Introduction to Computing - Lecture Handout 30

CS101 - Introduction to Computing - Lecture Handout 31

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Developing Presentations

Focus of the 22th Lecture was on Spreadsheets:

Second among the four lectures that we plan to have on productivity software
We learnt about what we mean by spreadsheets
We discussed the usage of various functions provided by common spreadsheets

Spreadsheets:

Electronic replacement for ledgers
Used for automating engineering, scientific, but in majority of cases, business calculations.
A spreadsheet - VisiCalc - was the first popular application on PC’s.
What Can They Do?
Can perform calculations repeatedly, accurately, rapidly.
Can handle a large number of parameters, variables
Make it easy to analyze what-if scenarios for determining changes in forecasts w.r.t. change in parameters.
Are easy to interface with other productivity SW packages
Easy to store, recall, modify
Make it is easy to produce graphs:

Read more: CS101 - Introduction to Computing - Lecture Handout 31

CS101 - Introduction to Computing - Lecture Handout 32

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Event Handling

(Web Development Lecture 11)

During the last lecture we discussed Functions & Variable Scope:

We looked at functions and their use for solving simple problems
We became familiar with a couple of JavaScript’s built-in functions
We became familiar with the concept of local and global variables

Function:

A group of statements that is put together (or defined) once and then can be used (by reference) repeatedly on a Web page
Also known as subprogram, procedure, subroutine

Advantages of Functions:

Number of lines of code is reduced
Code becomes easier to read & understand
Code becomes easier to maintain as changes need to be made only at a single location instead multiple locations

Read more: CS101 - Introduction to Computing - Lecture Handout 32

CS101 - Introduction to Computing - Lecture Handout 33

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Graphics & Animation

During the last lecture …(Internet Services):

We looked at several services provided by the Internet
FTP
Telnet
Web
eMail
Instant messaging
VoIP
We also found out about the addressing scheme used on the Internet

IP Address:

A unique identifier for a computer on a TCP/IP network
Format: four 8-bit numbers separated by periods. Each 8-bit number can be 0 to 255

Domain Names:

IP addresses are fine for computers, but difficult to recognize and remember for humans
A domain name is a meaningful, easy-to-remember ‘label’ for an IP address

Read more: CS101 - Introduction to Computing - Lecture Handout 33

CS101 - Introduction to Computing - Lecture Handout 34

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Intelligent Systems

During the last lecture …:(Graphics & Animation)

We became familiar with the role that graphics and animations play in computing
We discussed how graphics & animation are displayed
We also looked at several formats used for storing graphics and animation

Computer Graphics:

Images created with the help of computers
2-D and 3-D (displayed on a 2-D screen but in such a way that they give an illusion of depth)
Used for scientific research, artistic expression, or for industrial applications
Graphics have made the computer interfaces more intuitive by removing the need to memorize commands

Displaying Images:

Most all computer displays consist of a grid of tiny pixels arranged in a regular grid of rows and columns
Images are displayed by assigning different colors to the pixels located in the desired portion of the computer display
Let’s discuss the pixel a bit more …

Read more: CS101 - Introduction to Computing - Lecture Handout 34

CS101 - Introduction to Computing - Lecture Handout 35

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Mathematical Methods

(Web Development Lecture 12)

During the last lecture we discussed Event handling:

We looked at the concept of event-driven programs and event handlers
What are they?
What do they do?
How do we benefit from them?
We wrote simple programs to demonstrate the capabilities of a few event handlers
What is Event Handling?
Capturing events and responding to them
The system sends events to the program and the program responds to them as they arrive
Events can include things a user does - like clicking the mouse - or things that the system itself does - like updating the clock. Today we will exclusively focus on user-events.

Event Driven Programs:

Programs that can capture and respond to events are called ‘event-driven programs’ JavaScript was specifically designed for writing such programs

Read more: CS101 - Introduction to Computing - Lecture Handout 35

CS101 - Introduction to Computing - Lecture Handout 36

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Data Management

During the last lecture …

(Intelligent Systems)

We looked at the distinguishing features of intelligent systems w.r.t. other software systems
We looked at the role of intelligent systems in scientific, business, consumer and other applications
We discussed several techniques for designing intelligent systems

Artificial) Intelligent Systems:

SW programs or SW/HW systems designed to perform complex tasks employing strategies that mimic some aspect of human thought

Not a Suitable Hammer for All Nails!

if the nature of computations required in a task is not well understood or there are too many exceptions to the rules
or known algorithms are too complex or inefficient then AI has the potential of offering an acceptable solution

Selected Applications:

Games: Chess, SimCity
Image recognition
Medical diagnosis
Robots
Business intelligence

Read more: CS101 - Introduction to Computing - Lecture Handout 36

CS101 - Introduction to Computing - Lecture Handout 37

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Database Software

Focus of the last Lecture was on Data Management

  • First of a two-lecture sequence
  • We became familiar with the issues and problems related to data-intensive computing
  • We also found out about flat-file and tabular storage

Data Management

  • Keeping track of a few dozen data items is straight forward
  • However, dealing with situations that involve significant number of data items, requires more attention to the data handling process
  • Dealing with millions - even billions - of inter-related data items requires even more careful thought

Issues in Data Management

Data Entry

CS101 - Introduction to Computing - Lecture Handout 38

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

String Manipulations

(Web Development Lecture 13)

During the last lecture we discussed Mathematical Methods

  • We looked at the properties and methods of JavaScript’s Math object
  • We produced solutions for simple problems using several methods of the Math object

Problems & Solutions

  • JavaScript doesn’t support drawing of graphics
  • However, crude graphics can be put together with the help of various text characters or tables
  • One cannot write a character at a random location on the screen using JavaScript
  • Instead, the graph has to be drawn from top to bottom, one row at a time – just like when regular text is written to a document

Mathematical Functions in JavaScript

  • In addition to the simple arithmetic operations (e.g. +, *, etc.) JavaScript supports several advanced mathematical operations as well
  • Notationaly, these functions are accessed by referring to various methods of the Math object
  • Moreover, this object also contains several useful mathematical constants as its properties
  • This object has no use, but of a placeholder

  • Read more: CS101 - Introduction to Computing - Lecture Handout 38

CS101 - Introduction to Computing - Lecture Handout 39

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Cyber Crime

Focus of the last Lecture was on Database SW

  • In our final lecture on productivity SW, we continued our discussion on data management
  • We found out about relational databases
  • We also implemented a simple relational database

Relational Databases

  • Databases consisting of two or more related tables are called relational databases
  • Each column of those tables can contain only a single type of data (contrast this with spreadsheet columns!)
  • Table rows are called records; row elements are called fields
  • A relational database stores all its data inside tables, and nowhere else
  • All operations on data are done on those tables or those that are generated by table operations
  • Tables, tables, and nothing but tables!

RDBMS

CS101 - Introduction to Computing - Lecture Handout 40

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Social Implications of Computing

Focus of the last Lecture was on Cyber Crime

  • We found out about several types of computer crimes that occur over cyber space
  • We familiarized ourselves with with several methods that can be used to minimize the ill effects of these crimes

Three Phases of the DoS

  1. Search
  2. Arm
  3. Attack

Neutralizing the Attack

  • The engineers responsible for monitoring the traffic on the Yahoo Web sites quickly identified the key characteristics of the packets originating from those drones
  • Then they setup filters that blocked all those packets

How to stop DoS attacks from taking place?

CS101 - Introduction to Computing - Lecture Handout 41

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Images & Animation

(Web Development Lecture 14)

During the last lecture we discussed String Manipulation

  • We became familiar with methods used for manipulating strings
  • We became able to solve simple problems involving strings

String Manipulation in JavaScript

  • In addition to the concatenation operator (+) JavaScript supports several advanced string operations as well
  • Notationaly, these functions are accessed by referring to various methods of the String object
  • Moreover, this object also contains the ‘length’ property

String Methods

FORMAT

string.methodName( )
EXAMPLE:
name = “Bhola” ;
document.write( name.toUpperCase( ) ) ;
document.write( name.bold( ) ) ;

Read more: CS101 - Introduction to Computing - Lecture Handout 41

CS101 - Introduction to Computing - Lecture Handout 42

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

The Computing Profession

Focus of the last Lecture was on Social Implications of Computing

We discussed the impact of computing on:

  • Business
  • Work
  • Living
  • Health
  • Education

Why should we, as computing professionals, be interested in studying the social implications of our creations?

  • Computing technology has changed our way of life like no other technology
  • We need to study how it has done it to highlight the mistakes and success stories of the past
  • We need to do it so that we can learn from them and select our future direction accordingly

Dilemma of Computing

CS101 - Introduction to Computing - Lecture Handout 43

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

The Future of Computing

Focus of the last Lecture was on the Computing Profession

  • We discussed several roles and associated responsibilities of modern computer professionals
  • We also discussed a few tricky situations where a knowledge of professional ethics would have helped

Who is a computing professional?

  • Computer scientists, software engineers, computer engineers, and some of the telecom engineers are generally classified as computing professionals

Today’s Focus Group

  • Due to the limitation on time, today we will be focusing only on a subset of computing professionals: those involved in the development of SW

Organization: A Collection of Teams

Development Team

CS101 - Introduction to Computing - Lecture Handout 44

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Programming Methodology

(Web Development Lecture 15)

During the last lecture we discussed Graphics & Animation

  • We became able to add and manipulate images and simple animations to a Web page

Images in HTML

  • It is quite straight forward to include gif and jpg images in an html Web page using the <IMG> tag
  • Format: <IMG src=URL, alt=text
    height=pixels width=pixels
    align="bottom|middle|top">
  • Plea: Don’t use images just for the sake of it!

Images in JavaScript

CS101 - Introduction to Computing - Lecture Handout 45

User Rating:  / 0

Related Content: CS101 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Introduction to Computing

Review & Wrap-Up

During the last lecture we discussed Programming Methodology

  • We looked at a few effective programming practices that result in the development of correct programs with minimum effort
  • We also became familiar with testing & debugging

readable program?

readable program

Design Guidelines

  • Break your code down into short and simple functions (e.g. take the 3 swap statements out from the last example and put them into a function of their own)
  • Do not use global variables

Coding Guidelines