Introduction

Posted by farooq

Computer ! an amazing machine! We are living in the computer age today and most of our day activities cannot be a accomplished without using computers. sometimes knowingly and sometimes unknowingly we use computers. Whether we have to withdraw money from the ATM(Automated Teller Machines, retranslated as Any Time Money), publish a newsletter, drive a motorbike, design a building or even a new dress, go to a grocery shop and by from cookies to types for our car – all involve computer in one way or the other.
We are breathing in the computer age and gradually computer has becomes such are breathing in the computer age and gradually computer has become such a dire necessity of life that it is difficult life without it.
Computer is affecting every sphere of our life. Be it government, business, education, legal practice, entertainment, defense or home – computer has becomes an indispensable and multipurpose tool.

Responsibilities of Oracle DBA Role and responsibilities of DBA

Posted by farooq

Role and responsibilities of DBA
If you want to become an oracle DBA, you should first understand what an Oracle DBA’s jobs is. The basic roles of the DBA are fairly consistent among different companies, but these duties might be expanded based on the size of the company and the experiences, of the DBA. In fact, the DBA is considered the main resource for DBMS experience and knowledge in many companies.

Let’s look at these roles and responsibilities and determine what skills are necessary to fulfill these duties. Here the roles and responsibilities are divided into two categories: basic duties and additional duties. The dividing line between these is not clear; there is significant overlap.
Basic Duties of the DBA

Here are some of the basic roles of the Oracle DBA. This is not an all-inclusive list. Depending on your installation and stall, your duties might not include all of these, or might include many more items. This section in simply intended as a general guide.
1)Installation of new software:

It is primarily the job of the DBA to install new versions of Oracle software, application software, and other software related to DBMS administration. It is important that the DBA or other IS staff ,members test this new software before it moved into a production environment.
2)Configuration of hardware/software administrator:

To many cases the system software can only be accessed by the system administrator. In this case, the DBA must work closely with the system administrator to perform software installations, and to configure with DBMS.
3)Security administration:

One of the main duties of the DBA is on monitor and administer DBMS security. This involves adding and removing users, administering quotas, auditing, and checking for security problems.
4)Performance Tuning and Monitoring:

The DBA must continually monitor system performance and be prepared to retune the system as necessary. Even a well-tuned system must be constantly monitored and adjusted. Sometimes this involves changing tuning parameters, other times this involves rebuilding an index or restructuring a table.
5)Backup and recovery:

Perhaps the most important responsibility of the DBA is effective the data in the system. To effectively do this, you must develop an effective backup and recovery strategy and make sure it is carried out. A DBA’s chief responsibility is to maintain the integrity of the database. It is important that the backup and recovery process be periodically tested.
6)Routine scheduled maintenance:

It is the job of the DBA to schedule routine DBMS maintenance and early out this maintenance and carry out this maintenance. This maintenance is regularly carried out in the early hours of the morning or on weekends when this maintenance causes the least inconvenience to the user community.
Additional Duties of the DBA

Some of the more advanced duties of the Oracle DBA might include the following:

1)Data analysis:

The DBA will frequently be called on to analyze the data stored in the database and to make recommendation relating to performance and efficiency of that data storage. This might relate to the more effective use of indexes or the use of some feature such as the Parallel Query option.
2)Database design:

The DBA is often involved at the preliminary database-design stages. Through the involvement of the DBA, many problems that might can be eliminated. The DBA knows the DBMS and system, can point out potential problems, and can help the development team with special performance considerations.
3)Data modeling and optimization:

By modeling the data, it is possible to optimize the system layout to make the most advantage of your I/O subsystem.
4)Assisting developers with SQL and stored procedure development:

The DBA should be prepared to be a resource for developers and users. The DBA is often called on to help with SQL problems as well as to design and write stored procedures.
5)Enterprise standards and naming conventions:

Because many different groups might perform different roles in developing and deploying applications, it is often the DBA who is called on to help define enterprise standards and naming conventions as well as to ensure that new application are conforming to these standards.
6)Development of production migration procedures:

Because the DBA is responsible for the availability and reliability of the DBMS and application using that DBMS, it is up to the DBA to develop and maintain procedures for rolling out new applications and DBMS software. This involves evaluating new software or patches as well as testing them. It is up to the DBA to guarantee the stability and robustness of the system.
7)Evaluation of new software:

The DBA might be called on to evaluated new software and make recommendations based on that evaluation. This might be related to a software purchase rollout of new version of software. This evaluation must be done in the context of the stability of the system. It is your responsibility to maintain system stability and reliability.
Labels: Database Managment Sys

PR2+ free web directory list,Free web directory list,Free web directory listing

Posted by farooq

http://www.linkscr.info 7
http://www.listsitefree.com 7
http://boingboing.net 5
http://boycottdirectory.info 5
http://broadbanddirectory.info 5
http://bubl.ac.uk 5
http://bumber.info 5
http://cglegend.com 5
http://cmdg.biz 5
http://codeclassic.net 5
http://codingcoding.com 5
http://cook-ad.com 5
http://counterdeal.com 5
http://ctapda.com/ 5
http://devdir.biz/ 5
http://directories.mesra.net 5
http://directories.mesra.net/ 5
http://directory.addlinksuggest.com 5
http://directory.b75.org 5
http://directory.cashooter.com 5
http://directory.clurp.com 5
http://directory.directoryfix.com/ 5
http://directory.directoryflame.com 5
http://directory.directorysef.com/ 5
http://directory.directoryship.com/ 5
http://directory.directoryswirl.com/ 5
http://directory.enterwork.net 5
http://directory.ezinfo.org 5
http://directory.ezweb-tools.com/ 5
http://directory.freeze-directory.com/ 5
http://directory.gtsee.com 5
http://directory.gtsee.com/ 5
http://directory.helpedia.com 5
http://directory.hewdirectory.com/ 5
http://directory.ihateyelp.com 5
http://directory.jtob.com/ 5
http://directory.lesterloyd.com 5
http://directory.linksdaily.info 5
http://directory.linkze.com 5
http://directory.promsook.com 5
http://directory.promsook.com/ 5
http://directory.seoexecutive.com/ 5
http://directory.seo-supreme.com/ 5
http://directory.sportdig.com/ 5
http://directory.top10url.com 5
http://directory.topentry.info/ 5
http://directory.usatohifi.com/ 5
http://directory.webdirectory2.com 5
http://directory.wgshost.com/ 5
http://dirinn.info 5
http://documentosbinarios.com 5
http://dofol.com 5
http://dotukdirectory.co.uk/ 5
http://dynn.org 5
http://esandan.net 5
http://etup.org/ 5
http://eurekamag.com/ 5
http://expotural.com 5
http://featured.blahoo.net/ 5
http://femeba.net 5
http://femina.com 5
http://geeez.com 5
http://globallinknetworks.com 5
http://gowebguide.com 5
http://gowebguide.com/ 5
http://grholds.com 5
http://gzzt.org 5
http://hrd.usatohifi.com/ 5
http://iearnsyria.org 5
http://info.isearchclick.net 5
http://iozoo.com 5
http://iwait.org/ 5
http://jkbdf999.com 5
http://www.carnaghan.com/ 5
http://www.ceddir.info 5
http://www.cipinet.com 5
http://www.cogizz.com/ 5
http://www.companiesindia.com/ 5
http://www.cy-sd.com 5
http://www.desarrolo.com 5
http://www.directory.am 5
http://www.directory.gtsee.com/ 5
http://www.directory-boss.com/ 5
http://www.directory-boss.com/ 5
http://www.directoryvault.com/ 5
http://www.directoryy.net 5
http://www.diroo.org/submit.php 5
http://www.dmozu.com/ 5
http://www.documentosbinarios.com 5
http://www.documentosbinarios.com/ 5
http://www.domaining.in 5
http://www.earth-directory.info 5
http://www.ecuadorsolidario.net/ 5
http://www.farrah.biz 5
http://www.free2find.info/ 5
http://www.freewebsubmission.com 5
http://www.gateway-worldwide.com/ 5
http://www.gmdir.com/ 5
http://www.goguides.org 5
http://www.gooddirectory.net 5
http://www.grafixdirectory.com 5
http://www.gravitydex.com 5
http://www.g-seed.biz/ 5
http://www.hgyouth.net 5
http://www.hjavira.net/ 5
http://www.hotld.com/ 5
http://www.ipsarion.com/ 5
http://www.irsg.org/ 5
http://www.jaborwhalky.com 5
http://www.jetpackpilot.com/ 5
http://www.kk-club.com 5
http://www.kuzink.com 5
http://www.lassodevelopment.com 5
http://www.link-bag.com/ 5
http://www.linkcub.com/ 5
http://www.linkok.net/ 5
http://www.linkspremium.com/ 5
http://www.littlewebdirectory.com/l 5
http://www.liveurls.net 5
http://www.magdalyns.com/ 5
http://www.managerbiz.com/ 5
http://www.mapgh.org/ 5
http://www.maverickmoon.com 5
http://www.mbkk.net/ 5
http://www.metextile.com/ 5
http://www.monsterlinkdirectory.com/ 5
http://www.mots-voir.com/ 5
http://www.ns8.biz 5
http://www.nzs.com 5
http://www.pearbags.com/ 5
http://www.pedsters-planet.co.uk 5
http://www.polypat.org 5
http://www.ptcblogger.com/ 5
http://www.qaiu.org 5
http://koaladir.com/ 4
http://lambusango.com 4
http://linkability.info 4
http://linkanimal.info 4
http://linkbook.pcgraphicsolutions.com 4
http://linkcentre.com 4
http://linkersinn.info 4
http://link-lister.com/ 4
http://linknom.com 4
http://litedirectory.com 4
http://litedirectory.com/ 4
http://livecycleportal.org 4
http://londovor.com 4
http://lubimgeroi.net 4
http://lunlundirectory.com 4
http://mavensearch.com 4
http://mcchandigarh.com 4
http://mcjdir.info 4
http://miriblack.com 4
http://mktdata.com 4
http://mydirectorylive.com/ 4
http://netdir.org 4
http://netdir.org/ 4
http://niresource.com 4
http://noblejas.info 4
http://nuoret.org 4
http://omega.usatohifi.com/ 4
http://plainstone.com/ 4
http://poland.pl/directory 4
http://rankbl.com/ 4
http://rocktheadored.com 4
http://scirus.com 4
http://scrubtheweb.com 4
http://searchsight.com/ 4
http://searchun.com 4
http://seo.blahoo.net/ 4
http://seo.wgsmedia.net/ 4
http://sepfi.com 4
http://siteblogdirectory.com/ 4
http://sonicrun.com/ 4
http://submithunter.com 4
http://submiturls.biz 4
http://subwaydirectory.com 4
http://t4z.net/ 4
http://thegogreendirectory.com 4
http://tiptopdirectory.com/ 4
http://travelaxis.org 4
http://txtlinks.com/ 4
http://ultraorganizer.com 4
http://uqkd.com 4
http://urlsdirectory.com 4
http://viesearch.com/ 4
http://vipdig.com/ 4
http://vos.ucsb.edu 4
http://washuswap.com 4
http://web-design-directory-uk.co.uk 4
http://webwisesolutions.com/ 4
http://www.000directory.com.ar 4
http://www.10thaxident.com 4
http://www.14kate.com 4
http://www.14kate.com/ 4
http://www.1adir.com 4
http://www.1adir.com 4
http://www.1directory1.info/ 4
http://www.1websdirectory.com/ 4
http://www.2.0websites.com 4
http://www.22centurytech.com/ 4
http://www.247webdirectory.com 4
http://www.247webdirectory.com/ 4
http://www.247webdirectory.com/ 4
http://www.2addlink.info/ 4

Report From The Infosecurity Europe

Posted by farooq

With an announced 300 exhibitors (90 out of the UK), Infosecurity 2007 is definitely the largest gathering of principal vendors in Europe. Launched as a UK event in 1996, this is now one of 10 Infosecurity shows worldwide. Taking place at the Olympia in London 24-26 April 2006, it is a unique chance to meet some of the most important people in the industry.

The main topics at this year's gathering of IT security professionals will be: wireless security, ID management, remote security, telecoms security and insider threats.

A large focus this year will be on debating key issues. The most interesting topic is certainly "Should we always report crime?" that will see a few speakers with largely different views will speak their mind. Are public scrutiny and the potential loss of clients worth the exposure of criminal activity? One thing is sure, the statstics are not showing the real number of breaches.

At the enterprise level, executives are mostly worries about professionalism and Infosecurity visitors will be able to learn where we are in that area at the moment and what has to be done to improve the situation further.


The Presentations

At the press conference I had the pleasure of listening to various presentations by the representatives of some of today’s leading security companies.

All the most important topics of the moment have been discussed, from the challeges that executives face on a daily basis to the problems faced by end users worldwide.

Larry Bridwell, the Global Security Strategist at Grisoft, provided us with an insighful overview of crimeware while Ionut Ionescu, the Director of Security Services at Nortel tackled top issues by talking about security economics.

Page Two

Proxy List

Posted by farooq

Safe Surfing Suite™ combines three powerful privacy solutions to protect your identity!

Anonymous Surfing™ protects you and your family from online identity theft by keeping your IP address (and your identity) private.

Anonymizer Anti-Spyware™ now prevents spyware before it is downloaded onto your PC through its real-time, Active-X shield.

Anonymizer Digital Shredder Lite™ is the easiest way to keep your PC clean and running smoothly.

Moreinformation...

219.147.15.90 3128 transparent China 2007-02-24 Whois
89.97.234.170 8080 transparent Italy 2007-02-24 Whois
58.216.243.2 3128 transparent China 2007-02-24 Whois
208.108.209.139 3128 transparent United States 2007-02-24 Whois
210.212.254.2 3128 transparent India 2007-02-24 Whois
201.116.230.99 80 transparent Mexico 2007-02-24 Whois
168.215.123.44 8080 transparent United States 2007-02-24 Whois
202.106.62.117 80 transparent China 2007-02-24 Whois
202.53.13.151 3128 transparent India 2007-02-24 Whois
200.250.241.247 3128 transparent Brazil 2007-02-24 Whois
82.159.220.1 8080 transparent Spain 2007-02-24 Whois
82.99.213.90 8080 transparent Iran 2007-02-24 Whois
165.228.130.10 3128 transparent Australia 2007-02-24 Whois
203.210.210.137 8080 transparent Vietnam 2007-02-24 Whois
125.244.73.194 8080 transparent South Korea 2007-02-24 Whois
202.29.20.148 8080 transparent Thailand 2007-02-24 Whois
211.154.104.85 80 high anonymity China 2007-02-24 Whois
202.175.58.10 80 transparent Macau 2007-02-24 Whois
62.85.54.107 3128 transparent Latvia 2007-02-24 Whois
83.151.4.199 80 transparent Russian Federation 2007-02-24 Whois
59.23.212.203 8080 high anonymity South Korea 2007-02-24 Whois
72.13.236.98 3128 transparent United States 2007-02-24 Whois
88.106.226.64 8080 anonymous Great Britain (UK) 2007-02-24 Whois
80.80.12.124 80 transparent Denmark 2007-02-24 Whois
165.228.128.10 3128 transparent Australia 2007-02-24 Whois
200.36.179.163 8080 high anonymity Mexico 2007-02-24 Whois
165.228.129.10 3128 transparent Australia 2007-02-24 Whois
218.216.241.61 8080 high anonymity Japan 2007-02-24 Whois
212.85.14.36 8000 transparent Great Britain (UK) 2007-02-24 Whois
62.85.54.110 3128 transparent Latvia 2007-02-24 Whois
221.128.125.133 8000 transparent Thailand 2007-02-24 Whois
125.250.234.194 8080 transparent South Korea 2007-02-24 Whois
211.99.196.117 3128 transparent China 2007-02-24 Whois
200.167.129.73 80 anonymous Brazil 2007-02-24 Whois
195.175.37.6 8080 transparent Turkey 2007-02-24 Whois
222.208.183.220 80 transparent China 2007-02-24 Whois
87.116.144.55 8080 transparent Czechoslovakia 2007-02-24 Whois
211.100.22.59 80 transparent China 2007-02-24 Whois
201.24.43.9 8080 transparent Brazil 2007-02-24 Whois
165.228.133.10 3128 transparent Australia 2007-02-24 Whois
202.108.119.227 80 anonymous China 2007-02-24 Whois
200.161.2.189 3128 transparent Brazil 2007-02-24 Whois
210.83.223.98 3128 transparent China 2007-02-24 Whois
211.231.187.4 80 anonymous South Korea 2007-02-24 Whois
142.165.3.43 80 transparent Canada 2007-02-24

Free Medical Spell Checker 1.0

Posted by farooq

The Free Medical Spell Check is a medical terminology spelling reference tool. With the Free Medical Spell Checker you can quickly verify the proper spelling of medical terms in almost every medical specialty and field. It works just like a medical speller book, however since it is a medical speller software tool you simply can start typing in the medical term you want to spell check and with every keystroke you will be automatically stepping closer to the correct medical spelling. With the Free Medical Spell Checker you will be able to spell check medical terminology from a variety of fields and specialties.

Download Now > > >

Change Web Site Mode

Posted by farooq

Switch access to sites between test and production. This class can be used to switch the access to sites between test and production versions.

Each Web site must have copy of all files in the production server and in a test server. This class allows the user to switch between the two copies of the site without having to change the URL.
It provides a GUI interface for switching between the test mode and production site.
The test version may be run in the local machine or in another machine.

change_mode.php
cm_functions.php
readme.txt

Bash Script Efficiently

Posted by farooq

The part techy kinds lives of each computer is letter of indices. Face leaves it, which is we all unprofessional programmers at the heart. Its part of our desire to steer to the electronic brain which takes up as much from our time. To the anger and to fear of our other halves:) An index to write is another way of programming fairly and there so the same guidelines and guidelines to follow should, which became you, when, a program in C, c++, fundamentally, writing Java.net, mono, or whatever there different language is

There are something advantages, if one writes indices, which form to complete it fast up more simply rustle some lines, around a repetitive task. Most the time of this refers for:next and while:do loops also. The designations, which are used, can be different, but use the fundamental structure and like them, are the same. Other programs from the indices to to designate is very simple and the upper sections, which are established in the functions, can in its entirety be used, if one manipulates the exit of these programs. This is called frequently adhesive code, since the index, which is fair is used, as a bridge used, to the different programs to stick together. While this all fine and Geck are, it is not the most efficient way. Some the functions that other programs are designated for, can already will be geeinbaut to the upper section, the index lets which run inside. This can have a drastic effect on the speed of the enterprise.

When example a quantity of indices is used, around the machine log book documents of the different computer activities to stampfen. E.G. activities of a Netzinternets can produce very large log files. A day's exit can produce more than twenty megabytes of an individual text document easily. Regarding that you can fit an entire five hundreds side book on an individual floppy Disc (to remind it itself of those?) that represents a quantity of information. These information overloading in something to reduce that the CEO to understand knows requires the use of indices.

Generally this means a reading off of each line and a taking the good material and storing out to another document. Under Linux there are some programs, which can do this. Awk, sed, cut, can line everything be used, in order to manipulate each line and to remove the necessary information. The problem with those is that, since they are external programs there expenses are designating it and they load into memory and they run having. Set into a loop, which lets some thousands run, time sets important on an equal footing ones retarded firmly.

However many upper sections and I use impact upper section here, when example a word expansion have function. This is, where the entrance is defective into different words above and variables assigned over a defined delimitation. Exactly make available the same functionality, awk, sed and the cut also. So, if you need that consider functionality, to use established in upper section functionality. This differentiates time from five minutes down to thirty seconds. Not one to be sneezed on illustration. Here a simple example, straight, is to point to the difference it cannot possibly not work.

cat "somefile.csv"|while read record
do
echo $record|cut -d, -f1-4,6,12 >> smallfile.csv
done

This calls two programs, "cat" to feed the file to the loop and "cut" to save fields 1 to 4,6 and 12 to another file. Because the script calls "cut" so many times it will take an extremely long time on large files. A far quicker method and simpler in my opinion is.

IFS=','
while read month day year time junk junk junk junk junk junk sourceip junk junk webpage
do
echo "$month $day $year,$time,$sourceip,$webpage" >> smallfile.csv
done < somefile.csv
IFS=' '

Not only is the code easier to understand it is far quicker as it doesn't call any external programs. The motto of the story here is work smarter and faster not fancy and slow.

Overview of Computer Architecture

Posted by farooq

Your computer system consists of thousands of individual components that work in harmony to process data. Each of these components has its own job to perform, and each has its own performance characteristics.

The brainpower of the system is the Central Processing Unit(CPU), which processes all the calculations and instructions that run on the computer. The job of the rest of the system is to keep the CPU busy with instructions to process. A well-tuned system runs at maximum performance if the CPU or CPU are busy 100% of the time.

So how does the system keep the CPUs busy? In general, the system consists of different layers, or tiers, of progressively slower components. Because faster components are typically the most expensive, you must perform a balancing act between speed and cost efficiency.

CPU and Cache


The CPU and the CPU’s cache are the fastest components of the system. The cache is high-speed memory used to store recently used data instructions so that it can provide quick access if this data is used again in a short time. Most CPU hardware designs have a cache built into the CPU chip. This internal cache is known as a Level 1 (or L1) cache. Typically, an L1 cache is quite small-8-16KB.

When a certain piece of data is wanted, the hardware looks first in the L1 cache. If the data is there, it’s processed immediately. If the data is not available in the cache, the hardware looks in the L2 cache, which is external to the CPU chip but located close to it. The L2 cache is connected to the CPU chip(s) on the same side of the memory bus as the CPU. To get to main memory, you must use the memory bus, which affects the speed of the memory access


CPU Design


Most instructions processing occurs in the CPU. Although certain intelligent devices, such as disk controllers, cam process some instruction, the instructions these devices can handle are limited to the control of dada moving to and from the devices. The CPU works from the determine how quickly these instructions are executed.
The CPU usually falls into one of two groups process:

Complex Instructions Set Computer(CISC) or
Reduced Instructions Set Computer(RISC).

Computer Science Lectures

Posted by farooq

Greetings everyone! A new month and a new post on free science online. This month I have a bunch of computer science video lectures.

Video lectures include: basics of computation theory, intro to computer science, data structures, compiler optimization, intro to computers and internet, intro to clojure, and some videos from EECS colloquium at Case Western Reserve University.


Higher Computing (University of New South Wales, by Richard Buckland, COMP1917)


Higher Computing Video Lectures


Course description:
This is the introductory course for computer science at UNSW. This course consists of three strands: programming, systems, and general computer-science literacy. The programming strand is further divided into two parts. For the first half of the course we cover small scale programming, in the second half we look at how to effectively use teams to produce more substantial software. In the systems strand we will look at how computers work. Concentrating on microprocessors, memory, and machine code. In the literacy strand we will look at topics drawn from: computing history, algorithms, WWW programming, ethics and law, cryptography and security, and other topics of general interest. The strands will be covered in an intermingled fashion.

Course topics:
Higher Computing. Inside a computer. Machine Code. Simple C Program. Clarity (C programming #2). Solving Problems. Side Effects. A simple recursive function. The Amazing Alan Turing. The Turing Test. Frames. Arrays. Pass by reference. Game design. Everything you need to know about pointers. Sudoku solver. Stack Frames. eXtreme Programming. VS programming. Programming in the Large. Stress. Random Numbers. The Trouble with Concrete Types. Abstract Data Types in C. Blackadder and Baldrick. ADT. Steganography (hidden messages). Don't give up. File I/O. Linked lists. Experimenting with CMOS. Complexity & Trees. Errors, Risks, Snarks, Boojums. Taste of Graphics. Sample Tree Code: loop detection. Ethics. Hamming Error Correcting Code. Professionalism. What makes a good programmer? Learning and Teaching Computing. Coding samples.


Introduction to Computer Science (Harvard, professor David J. Malan)


Intro to Comp. Sci. Video Course


Course description:
Introduction to Computer Science I is a first course in computer science at Harvard College for concentrators and non-concentrators alike. More than just teach you how to program, this course teaches you how to think more methodically and how to solve problems more effectively. As such, its lessons are applicable well beyond the boundaries of computer science itself. That the course does teach you how to program, though, is perhaps its most empowering return. With this skill comes the ability to solve real-world problems in ways and at speeds beyond the abilities of most humans.

Course topics:
How Computers Work, Binary. Introduction to Programming and Scratch. Threads and Programs with Multiple Scripts. Binary Numbers, Programming Languages, Working in Linux, and Programming in C. Secure File Transfer, Variable Types, and Arithmetic Operators. Standard Input Functions, Boolean Expressions, and Loops. Cryptography, Bugs, Integer Casting, and Functions. Local and Global Variables, the Stack, Return Values, and Arrays. Strings as Arrays, Command-Line Arguments, and more Cryptography. Run Times and Algorithms, Recursion. Sorting: Bubble Sort, Selection Sort, and Merge Sort. Hardware, Processors, and Implications for Software. Greedy Algorithms, Software Design and Debugging. Pointers. Pointers and Arrays, Dynamic Memory Allocation. Pointer Arithmetic, Structures, File I/O. Linked Lists. Inserting and Deleting Elements in Linked Lists, Doubly-Linked Lists. Hash Tables, Dealing with Collisions. Pointers to Pointers, Binary Search Tree, Tries, Heaps. Heapsort, Jeopardy. Huffman Coding Theory. Bitwise Operators, Underneath the Hood - From Code to Executable File. Dangerous Functions, Secure Code. The Internet and Webpages - HTTP and XHTML. Introduction to PHP. User Input, Setting up a Login Page, SQL. Threats. Introduction to LISP. Brief Introduction to System Programming and Machine Organization. Conclusions.


Data Structures (Berkeley, professor Paul Hilfinger)


Data Structures Video Lectures


Course description:
Fundamental dynamic data structures, including linear lists, queues, trees, and other linked structures; arrays strings, and hash tables. Storage management. Elementary principles of software engineering. Abstract data types. Algorithms for sorting and searching. Introduction to the Java programming language.

Course topics:
Developing a Simple Program. More on Simple Programs. Values and Containers. Simple Pointer Manipulation. Arrays and Objects. Object-Oriented Mechanisms. Interfaces and Abstract Classes. Abstract Methods and Classes, Continued. Examples of Interfaces. Misc. Support for Abstraction; Exceptions. Numbers. Algorithmic Analysis. Collections Overview. Paradox of Voting. Resource Curse. Getting a View - Sublists. Data Structures Exam Review. Trees. Trees, Searching. Generic Programming. Priority Queues, Range Queries. Hashing. Sorting. Balanced Search Structures. Pseudo-Random Sequences. Backtracking Search, Game Trees. Enumeration Types, Threads, and Concurrency. Graphs, Introduction. Graphs, Minimal Spanning Trees, Union-find. Dynamic Programming. Storage Management. Storage Management, Continued, Reflection. Data Structures Course Summary.


Compiler Optimization


Compiler Optimization Video Lectures


Course description:
This course introduces students to modern techniques in efficient implementation of programming languages. Modern processors and systems are designed based on the assumption that a compiler will be able to effectively exploit architectural resources. This course will examine in detail techniques to exploit instruction level parallelism, memory hierarchy and higher level parallelism. It will examine classic static analysis approaches to these problems and introduce newer feedback directed and dynamic approaches to optimisation.

Course topics:
Scalar Optimisation - Redundant Expressions. Scalar Optimisation - Dataflow Framework and SSA. Code Generation. Instruction Scheduling. Register Allocation. Dependence Analysis. Program Transformations. Vectorisation. Parallelisation. Adaptive and Profile Directed Compilation. Iterative + Dynamic Compilation. Dynamic Compilation. Machine Learning based Compilation.


Understanding Computers and the Internet


Understanding Computers and the Internet Videos


Video course description:
This course is all about understanding: understanding what's going on inside your computer when you flip on the switch, why tech support has you constantly rebooting your computer, how everything you do on the Internet can be watched by others, and how your computer can become infected with a worm just by turning it on. In this course we demystify computers and the Internet, along with their jargon, so that students understand not only what they can do with each but also how it all works and why. Students leave this course armed with a new vocabulary and equipped for further exploration of computers and the Internet. Topics include hardware, software, the Internet, multimedia, security, website development, programming, and dotcoms. This course is designed both for those with little, if any, computer experience and for those who use a computer every day.

Course topics:
Hardware - Computation. Overview. Bits and bytes. ASCII. Processors. Motherboards: buses, connectors, ports, slots, and sockets. Memory: ROM, RAM, and cache. Secondary storage: floppy disks, hard disks (PATA and SATA), CDs, and DVDs. Virtual Memory. Expansion buses and cards: AGP, ISA, PCI, PCI Express, and SCSI. I/O devices. Peripherals. How to shop for a computer. History. The Internet - Networks: clients and servers, peer-to-peer, LANs and WLANs, the Internet, and domains. Email: addresses; IMAP, POP and SMTP; netiquette; spam; emoticons; snail mail; and listservs. SSH. The World Wide Web: URLs and HTTP. Blogs. Instant messaging. SFTP. Usenet. Network topologies. The Internet: backbones, TCP/IP, DHCP, and DNS. NAT. Ethernet: NICs, cabling, switches, routers, and access points. Wireless: IR, RF, Bluetooth, and WiFi. ISPs. Modems: dialup, cable, and DSL. Multimedia - Graphics: file formats, bitmaps and vectors, and compression. Audio: file formats and compression. Video (and audio): file formats and compression. Streaming. Security - Threats to privacy: cookies, forms, logs, and data recovery. Security risks: packet sniffing, passwords, phishing, hacking, viruses and worms, spyware, and zombies. Piracy: WaReZ and cracking. Defenses: scrubbing, firewalls, proxy servers, VPNs, cryptography, virus scanners, product registration and activation. Website Development - Webservers: structure, permissions, and implementations. Static webpages: XHTML, well-formedness, and validity. Dynamic webpages: SSIs, DHTML, AJAX, CGI, ASPs, and JSPs. Programming - Pseudocode. Constructs: instructions, variables, conditions, branches, and loops. Languages: interpreted and compiled. Scratch.

Free Computer Science Video Lecture Courses

Posted by farooq

Here is a list of video lectures in computer science I had collected over the years.
This list is only two-thirds of all links I have in my bookmarks, I will go through the rest of links later. Check back.

For formal computer science education here is an overview of a bachelor degree in computer science.


Web Applications

Video Lectures at ArsDigita University
Mirror ar ArsDigita
High Speed Mirror at Internet Archive
Course website

Teaches basics of designing a dynamic web site with a database back end, including scripting languages, cookies, SQL, and HTML with the goal of building such a site as the main (group) project Emphasizes computer-human interface and the graphical display of information.


Structure and Interpretation of Computer Programs

Video lectures at MIT
Structure and Interpretation of Computer Programs has been MIT's introductory pre-professional computer science subject since 1981. It emphasizes the role of computer languages as vehicles for expressing knowledge and it presents basic principles of abstraction and modularity, together with essential techniques for designing and implementing computer languages. This course has had a worldwide impact on computer science curricula over the past two decades.


Structure and Interpretation of Computer Programs (a different course)

Video lectures at ArsDigita University
Mirror at ArsDigita
High Speed Mirror at Internet Archive
Course website

An introduction to programming and the power of abstraction, using Abelson and Sussman's classic textbook of the same name. Key concepts include: building abstractions, computational processes, higher-order procedures, compound data, data abstractions, controlling interactions, generic operations, self-describing data, message passing, streams and infinite data structures, meta-linguistic abstraction, interpretation of programming languages, machine model, compilation, and embedded languages.


Structure and Interpretation of Computer Programs (a different course)

Video Lectures: CS61A (Berkeley)
Course website

The CS 61 series is an introduction to computer science, with particular emphasis on software and on machines from a programmer's point of view. This first course concentrates mostly on the idea of abstraction, allowing the programmer to think in terms appropriate to the problem rather than in low-level operations dictated by the computer hardware. The next course, CS 61B, will deal with the more advanced engineering aspects of software on constructing and analyzing large programs and on techniques for handling computationally expensive programs. Finally, CS 61C concentrates on machines and how they carry out the programs you write.
In CS 61A, we are interested in teaching you about programming, not about any particular programming language. We consider a series of techniques for controlling program complexity, such as functional programming, data abstraction, object-oriented programming, and query systems. To get past generalities you must have programming practice in some particular language, and in this course we use Scheme, a dialect of Lisp. This language is particularly well-suited to the organizing ideas we want to teach. Our hope, however, is that once you have learned the essence of programming, you will find that picking up a new programming language is but a few days' work.


Data Structures

Video Lectures: CS61B (Berkeley)
Course website

The CS 61 series is an introduction to computer science, with particular emphasis on software and on machines from a programmer’s point of view. CS 61A covered high-level approaches to problem-solving, providing you with a variety of ways to organize solutions to programming problems: as compositions of functions, collections of objects, or sets of rules. In CS 61B, we move to a somewhat more detailed (and to some extent, more basic) level of programming. As in 61A, the correctness of a program is important. In CS 61B, we’re concerned also with engineering. An engineer, it is said, is someone who can do for a dime what any fool can do for a dollar. Much of 61B will be concerned with the tradeoffs in time and memory for a variety of methods for structuring data. We’ll also be concerned with the engineering knowledge and skills needed to build and maintain moderately large programs.


Machine Structures

Video Lectures: CS61C (Berkeley)
Course webpage

The subjects covered in this course include C and assembly language programming, how higher level programs are translated into machine language, the general structure of computers, interrupts, caches, address translation, CPU design, and related topics. The only prerequisite is that you have taken Computer Science 61B, or at least have solid experience with a C-related programming language.


Programming Languages

Video Lectures: CSEP505 (University of Washington)
Course website

Goals: Successful course participants will:
• Master universal programming-language concepts (including datatypes, functions, continuations, threads,
macros, types, objects, and classes) such that they can recognize them in strange guises.
• Learn to evaluate the power, elegance, and definition of programming languages and their constructs
• Attain reasonable proficiency programming in a functional style
• Find relevant literature somewhat more approachable.


Principles of Software Engineering

Video Lectures: CS584 (University of Washington)

Course website

Study of major developments in software engineering over the past three decades. Topics may include design (information hiding, layering, open implementations), requirements specification (informal and formal approaches), quality assurance (testing, verification and analysis, inspections), reverse and re-engineering (tools, models, approaches).


Object Oriented Program Design

Video lectures at ArsDigita University
Mirror at ArsDigita
High Speed Mirror at Internet Archive
Course website

The concepts of the Object-oriented paradigm using Java. The basic principles of software engineering are emphasized. We study how to design and think in an object oriented fashion.


Algorithms

Video lectures at ArsDigita University
Mirror at ArsDigita
High Speed Mirror at Internet Archive
Course website

The design and analysis of algorithms is studied. Methodologies include: divide and conquer, dynamic programming, and greedy strategies. Their applications involve: sorting, ordering and searching, graph algorithms, geometric algorithms, mathematical (number theory, algebra and linear algebra) algorithms, and string matching algorithms.

We study algorithm analysis - worst case, average case, and amortized, with an emphasis on the close connection between the time complexity of an algorithm and the underlying data structures. We study NP-Completeness and methods of coping with intractability. Techniques such as approximation and probabilistic algorithms are studied for handling the NP-Complete problems.


Introduction to Algorithms

Video lectures: 6.064J/18.410J (MIT)
Course homepage

This course teaches techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics covered include: sorting; search trees, heaps, and hashing; divide-and-conquer; dynamic programming; amortized analysis; graph algorithms; shortest paths; network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; caching; and parallel computing.


Systems

Video Lectures at ArsDigita University
Mirror at ArsDigita
High Speed Mirror at Internet Archive
Course website

Topics on the engineering of computer software and hardware systems: techniques for controlling complexity, system infrastructure, networks and distributed systems, atomicity and coordination of parallel activities, recovery and reliability, privacy of information, impact of computer systems on society. Case studies of working systems and outside reading in the current literature provide comparisons and contrasts.


Computer System Engineering

Video Lectures: 6.033 (MIT) (first 3 lectures don't have videos)
Course homepage

This course covers topics on the engineering of computer software and hardware systems: techniques for controlling complexity; strong modularity using client-server design, virtual memory, and threads; networks; atomicity and coordination of parallel activities; recovery and reliability; privacy, security, and encryption; and impact of computer systems on society. We will also look at case studies of working systems and readings from the current literature provide comparisons and contrasts, and do two design projects.


Graduate Computer Architecture

Video Lectures: CS 252 (Berkeley)
Course website

This course focuses on the techniques of quantitative analysis and evaluation of modern computing systems, such as the selection of appropriate benchmarks to reveal and compare the performance of alternative design choices in system design. The emphasis is on the major component subsystems of high performance computers: pipelining, instruction level parallelism, memory hierarchies, input/output, and network-oriented interconnections.


Computer Architecture

Video Lectures: CSE P 548 (University of Washington)

Course website
The purpose of this course is to give you a broad understanding of the concepts behind several advanced microarchitectural features in today’s microprocessors and to illustrate those concepts with appropriate (usually modern) machine examples. We will cover the rationale for and the designs of strategies for instruction sets, dynamic branch prediction, multiple-instruction issue, dynamic (out-of-order) instruction scheduling, multithreaded processors, shared memory multiprocessors, and, if there is time, dataflow machines. Some of these topics require some understanding from what is normally thought of as undergraduate material; for these, we’ll briefly review that material, and then go on from there.

You will augment your knowledge of the architectural schemes by doing experimental studies that examine and compare the performance of several alternative implementations for a particular feature. Here you will learn how to design architectural experiments, how to choose metrics that best illustrate a feature’s performance, how to analyze performance data and how to write up your experiment and results - all skills computer architects, and, actually, researchers and developers in any applied subfield of computer science, use on a regular basis.


Operating Systems and System Programming

Video Lectures: CS 162 (Berkeley)
Course website
The purpose of this course is to teach the design of operating systems and other systems. Topics we will cover include concepts of operating systems and systems programming; utility programs, subsystems, multiple-program systems; processes, interprocess communication, and synchronization; memory allocation, segmentation, paging; loading and linking, libraries; resource allocation, scheduling, performance evaluation; I/O systems, storage devices, file systems; basic networking, protocols, and distributed file systems, protection, security, and privacy.


How Computers Work

Video lectures at ArsDigita University
Mirror at ArsDigita
High Speed Mirror at Internet Archive
Course website

Includes the basics of digital logical design, computer organization and architecture including assembly language, processor design, memory hierarchies and pipelining. Students examine the detailed construction of a very simple computer. A higher level view of a modern RISC architecture is studied, using the Patterson and Hennessey introductory text, from both the programmer's point of view and the hardware designer's point of view. The distinction between RISC and CISC architectures is emphasized.


Performance Analysis

Video Lectures: CSE 597 (University of Washington)

Course website

This course is intended to provide a broad introduction to computer system performance evaluation techniques and their application. Approaches considered include measurement/benchmarking, stochastic and trace driven simulation, stochastic queueing networks, and timed Petri


Database Management Systems

Video Lectures at ArsDigita University
Mirror at ArsDigita
High Speed Mirror at Internet Archive
Course website

A more formal approach to Relational Database Management Systems, compared the way they were covered during Web Applications. Database systems are discussed from the physical layer of B-trees and file servers to the abstract layer of relational design. Also includes alternative and generic approaches to database design and database management system including relational, object-relational, and object-oriented systems, SQL standards, algebraic query languages, integrity constraints, triggers, functional dependencies, and normal forms. Other topics include tuning database transactions, security from the application perspective, and data warehousing.


Database Management Systems

Video Lectures: CSEP544 (University of Washington)
Course website

Databases are at the heart of modern commercial application development. Their use extends beyond this to many applications and environments where large amounts of data must be stored for efficient update and retrieval. The purpose of this course is to provide an introduction to the design and use of database systems, as well as an appreciation of the key issues in building such systems, and working with multiple database systems.
We begin by covering basis aspcts of SQL, and illustrating several data management concepts through SQL features (e.g., views, constraints and triggers). Next, we study conceptual database design and normalization theory. We then study management of XML data, and cover the XPath and XQuery languages. We consider the issues arising in data integration from multiple databases, and more generally, issues in managing meta-data. Finally, we cover the basic aspects of the internals of database systems.


Transaction Processing for E-Commerce

Video Lectures: CSEP545 (University of Washington)

Course website

Course covers Database Concurrency Control, Database Recovery, Basic Application Servers, Two-Phase Commit, Queuing, Replication, Application Servers.


Practical Aspects of Modern Cryptography

Video Lectures: 950TU (University of Washington)
Course website
Course covers Symmetric Key Ciphers and Hashes, Public Key Ciphers, Analysis of Block Ciphers, AES and Attacks on Cryptographic Hashes, Certificates, Trust & PKI, Public Key Cryptography, Digital Rights Management, The Politics of Cryptography


Theory of Computation

Video Lectures at ArsDigita University
Mirror at ArsDigita
High Speed Mirror at Internet Archive
Course website

A theoretical treatment of what can be computed and how fast it can be don. Applications to compilers, string searching, and control circuit design will be discussed. The hierarchy of finite state machines, pushdown machines, context free grammars and Turing machines will be analyzed, along with their variations. The notions of decidability, complexity theory and a complete discussion of NP-Complete problems round out the course.


Artificial Intelligence (4 lectures)

Video Lectures at ArsDigita University
Mirror at ArsDigita
High Speed Mirror at Internet Archive
Course website

An quick overview of AI from both the technical and the philosophical points of view. Topics discussed include search, A*, Knowledge Representation, Neural Nets.


Applications of Artificial Intelligence

Video Lectures: CSE592 (University of Washington)

Course website
Introduction to the use of Artificial Intelligence tools and techniques in industrial and company settings. Topics include: foundations (search, knowledge representation) and tools such as expert systems, natural language interfaces and machine learning techniques.



Related Posts


Google Tech-Talk Computer Science Video Lectures
(Lectures on theoretical and practical aspects of computer science such as: creative commons licensing issues, grid clusters, debian linux testing, python programming language, computer security, networking, click fraud, reusable software components, ruby programming language, privacy, service monitoring)


More Mathematics and Theoretical Computer Science Video Lectures
(Includes algebra, elementary statistics, applied probability, finite mathematics, trigonometry with calculus, mathematical computation, pre-calculus, analytic geometry, first year calculus, business calculus, mathematical writing (by Knuth), computer science problem seminar (by Knuth), dynamic systems and chaos, computer musings (by Knuth) and other Donald E. Knuth lectures)


Computer Science Lectures
(Courses include higher computing (intro to theory of computation), intro to computer science, data structures, compiler optimization, computers and internet, intro to clojure, the akamai story, cryptography, EECS colloquium videos at Case Western Reserve University)


Computer Science Courses
(Includes introduction to computer science and computing systems, computational complexity and quantum computing, the c programming language, multicore programming, statistics and data mining, combinatorics, software testing, evolutionary computation, deep learning, data structures and algorithms and computational origami.)

Computer Science Video Courses

Posted by farooq


This time I bring you a mixture of video lectures and full video courses for computer science undergraduates and graduates.

Courses come from engineering, mathematics and comp. sci. departments of various universities.

This post can be considered a follow-up on posts on computer science lectures: 1, 2, 3, 4, 5, 6, 7, 8 .

See the right menu bar for more lectures specifically in engineering and mathematics!


Introduction to Computer Graphics (35 lectures)


Intro to Computer Graphics Video Lectures


Course topics:
1. Introduction. 2, 3. Raster Graphics. 4. Clipping. 5. Polygon Clipping and Polygon Scan Conversion. 6, 7. Transformations. 8, 9. 3D Viewing. 10-15. Curves. 16-19. Surfaces. 20. Hierarchical Models. 21-23. Rendering. 24-27. Ray Tracing. 28, 29. Hidden Surface Elimination. 30-32. Fractals. 33-35. Computer Animation.


Computer Graphics (43 Video Lectures)


Computer Graphics Video Lectures


Course topics:
1. Introduction to computer graphics. 2-5. CRT Display Devices. 6. Transformations. 7. Transformations in 2D. 9, 10. Three Dimensional Graphics. 11. Project Transformations and Viewing Pipeline. 12. 3D Viewing. 13-17. Scan Converting Lines, Circles and Ellipses. 18, 19. PolyFill Scan Conversion of a Polygon. 20-22. Clipping: Lines And Polygons. 23-25. Solid Modelling. 26-32. Visible Surface Detection. 33-35. Illumination and Shading. 36, 37. Curve Representation. 38. Curves and Surface Representation. 39. Graphics Programming. 40. Graphics Programming Using OpenGL. 41. Advanced Topics. 42, 43. Digital Image Processing.


Discrete Mathematics for Programmers (40 Video Lectures)


Discrete Maths Video Lectures


Course topics:
1, 2. Propositional Logic. 3, 4. Predicates & Quantifiers. 5. Logical Inference. 6. Resolution Principles & Application to PROLOG. 7. Methods of Proof. 8. Normal Forms. 9. Proving programs correct. 10. Sets. 11. Mathematical Induction. 12. Set Operations on Strings Over an Alphabet. 13. Relations. 14, 15. Graphs. 16. Trees. 17. Trees and Graphs. 18. Special Properties of Relations. 19, 20. Closure of Relations. 21. Order Relations. 22. Order and Relations and Equivalence Relations. 23. Equivalence relations and partitions. 24-26. Functions. 27-29. Permutations and Combinations. 30-31. Generating Functions. 32-34. Recurrence Relations. 35-37. Algebras. 38-39. Finite State Automaton (FSA). 40. Lattices.


Mathematical Analysis (32 Video Lectures)


Math Analysis Video Lectures


Course topics:
1. Real Number. 2. Sequences I. 3. Sequences II. 4. Sequences III. 5. Continuous Function. 6. Properties of continuous functions. 7. Uniform Continuity. 8. Differentiable function. 9. Mean Value Theorems. 10. Maxima - Minima. 11. Taylor's Theorem. 12. Curve Sketching. 13. Infinite Series I. 14. Infinite Series II. 15. Tests of Convergence. 16. Power Series. 17. Riemann integral. 18. Riemann Integrable functions. 19. Applications of Riemann Integral. 20. Length of a curve. 21. Line integrals. 22. Functions of several variables. 23. Differentiation. 24. Derivatives. 25. Mean Value Theorem. 26. - Maxima Minima. 27. Method of Lagrange Multipliers. 28. Multiple Integrals. 29. Surface Integrals. 30. Green's Theorem. 31. Stokes Theorem. 32. Guass Divergence Theorem.


Introduction To Problem Solving and Programming (23 Video Lectures)


Problem Solving Video Lectures


Topics include:
Introduction to Computers, Algorithms and Programming. Data Types, Strings, and Input and Output. Flow Control. Arrays. Data Structures. Dynamic Data Structures. Recursion. Various Mathematics Problems and their solutions.


Computing I (CSCI 230, Indiana and Purdue Universities)


Computing Video Lectures


Course topics:
Introduction to Computers - Hardware and Languages. C Programming. Basic Input/Output. Variable Declarations, Data Types, Expressions. Program Control. Functions. Information Representation. Arrays. Programming Ethics. Pointers. Characters and Strings. Structures. Models of Computation.


Computing II (CSCI 240, Indiana and Purdue Universities)


Computing Video Lectures


Course topics:
Advanced Programming. C++ Programming. Concepts in Object-Oriented Design. Classes. Stream Input/Output Basics. Abstract Data Types. Operator Overloading. Inheritance. Virtual Functions. Exception Handling. Templates. Standard Template Library (STL). History of Graphical User Interfaces. Introduction To Visual Programming. QT Designer. Boolean Algebra. Digital Logic. Analysis of Algorithms. Elementary Data Structures. Recursion. Abstract Data Types. Elementary Sorting Algorithms. Quicksort. Mergesort.


Numerical Methods and Programing (38 Video Lectures)


Numerical Methods Video Lectures


Course topics:
1. Programing Basics. 2. Introduction to Pointers. 3. Pointers And Arrays. 4. External Functions and Argument Passing. 5. Representation of Numbers. 6. Numerical Error. 7. Error Propagation and Stability. 8. Polynomial Interpolation I. 9. Polynomial Interpolation II. 10. Error In Interpolation Polynomial. 11. Polynomial Interpolation. 12. Cubic Spline Interpolation. 13, 14. Data Fitting : Linear Fit. 15. - Data Fitting : Non Linear Fit. 16. Matrix Elimation and Solution. 17. Solution To Linear Equations. 18. Matrix Elimination. 19. Eigen Values of A Matrix. 20. Eigen Values And Eigen Vectors. 21. Solving NonLinear Equations. 22. Solving NonLinear Equations with Newton Method. 23. Methods For Solving NonLinear Equations. 24. System of NonLinear Equations. 25. Numerical Derivations. 26. High order Derivatives From Difference Formula. 27. Numerical Integration - Basic Rules. 28. Comparison of Different Basic Rules. 29. Gaussian Rules. 30. Comparison of Gaussian Rules. 31. Solving Ordinary Differential Equations. 32. Solving ordinary differential equations. 33. Adaptive step size Runge Kutta scheme. 34. Partial Differential Equations. 35. Explicit and Implicit Methods. 36. Nicholson Scheme For Two Spatial Dimensions. 37. Fourier Transforms. 38. Fast Fourier Transforms.


Convex Optimizations (EE364-a, Stanford University)


Course Website
Convex Optimizations Video Lectures


Read by professor Stephen Boyd in Winter Quarter 2007/2008.

Course description:
Concentrates on recognizing and solving convex optimization problems that arise in engineering. Convex sets, convex functions, and convex optimization problems. Basics of convex analysis. Least-squares, linear and quadratic programs, semidefinite programming, minimax, extremal volume, and other problems. Optimality conditions, duality theory, theorems of alternative, and applications. Interior-point methods. Applications to signal processing, control, digital and analog circuit design, computational geometry, statistics, and mechanical engineering.

Available lecture notes on topics:
Convex sets, Convex functions, Convex optimization problems, Duality, Approximation and fitting, Statistical estimation, Geometric problems, Numerical linear algebra background, Unconstrained minimization, Equality constrained minimization, Interior-point methods. Convex optimization examples, Filter design and equalization, Disciplined convex programming and CVX.


Introduction to Linear Dynamical Systems (EE263, Stanford University)


Course website
Linear Dynamical Systems Video Lectures


Read by professor Stephen Boyd in Autumn Quarter 2007/2008.

Course description:
Introduction to applied linear algebra and linear dynamical systems, with applications to circuits, signal processing, communications, and control systems. Topics include: Least-squares aproximations of over-determined equations and least-norm solutions of underdetermined equations. Symmetric matrices, matrix norm and singular value decomposition. Eigenvalues, left and right eigenvectors, and dynamical interpretation. Matrix exponential, stability, and asymptotic behavior. Multi-input multi-output systems, impulse and step matrices; convolution and transfer matrix descriptions. Control, reachability, state transfer, and least-norm inputs. Observability and least-squares state estimation.


Intelligent Systems Control (32 Video Lectures)


Intelligent Systems Control Video Lectures


Course topics include:
Methods for the system analysis. Design of intelligent systems for control. Programming of computation of intelligent systems, and their communications. Numerical methods and optimization. Linear programming. Discrete programming. Dynamic (dynamical) programming. System learning. Reinforcement learning. Optimal solution estimations. Bayesian networks. Neural Networks. Expert systems. Genetic Algorithms.


Programming Systems Seminar Series

See the The Intel Research Berkeley Programming Systems Seminar Series for more information!


Towards a Memory Model for C (by Hans Boehm)
Video Lecture - Low Speed (90 MB) or High Speed (600 MB)
Lecture Notes


Software and the Concurrency Revolution (by Herb Sutter)
Video Lecture
Lecture Notes


Static Extended Checking for Cyclone (by Greg Morrisett)
Video Lecture
Lecture Notes


Design and Implementation of Python (by Guido van Rossum)
Video Lecture
Lecture Notes


Parallel Programming and Code Selection in Fortress (by Guy Steele)
Video Lecture
Lecture Notes


How Simply and Understandably Could The "Personal Computing Experience" Be Programmed? (by Alan Kay)
Video Lecture
Lecture Notes


Contracts in Eiffel: old and new uses (by Bertrand Meyer)
Video Lecture
Lecture Notes


An outline of C++0x (by Bjarne Stroustrup)
Video Lecture
Lecture Notes


Multithreaded Programming in Cilk (by Charles Leiserson)
Video Lecture
Lecture Notes


Faith, Evolution, and Programming Languages: From Haskell to Java (by Philip Wadler)
Video Lecture
Lecture Notes




Have fun with these lectures and get smarter! :)
Don't forget to check out the right menu bar for more lectures! Until next time!


Related Posts

Free Computer Science Video Lecture Courses
(Courses include web application development, lisp/scheme programming, data structures, algorithms, machine structures, programming languages, principles of software engineering, object oriented programming in java, systems, computer system engineering, computer architecture, operating systems, database management systems, performance analysis, cryptography, artificial intelligence)


Programming Lectures and Tutorials
(Lectures include topics such as software engineering, javascript programming, overview of firefox's firebug extension, document object model, python programming, design patterns in python, java programming, delphi programming, vim editor and sqlite database design)


Programming, Networking Free Video Lectures and Other Interesting Ones
(Includes lectures on Python programming language, Common Lisp, Debugging, HTML and Web, BGP networking, Building scalable systems, and as a bonus lecture History of Google)


Computer Science Lectures
(Courses include higher computing (intro to theory of computation), intro to computer science, data structures, compiler optimization, computers and internet, intro to clojure, the akamai story, cryptography, EECS colloquium videos at Case Western Reserve University)


More Mathematics and Theoretical Computer Science Video Lectures
(Includes algebra, elementary statistics, applied probability, finite mathematics, trigonometry with calculus, mathematical computation, pre-calculus, analytic geometry, first year calculus, business calculus, mathematical writing (by Knuth), computer science problem seminar (by Knuth), dynamic systems and chaos, computer musings (by Knuth) and other Donald E. Knuth lectures)


More Mathematics and Theoretical Computer Science Video Lectures
(Includes algebra, elementary statistics, applied probability, finite mathematics, trigonometry with calculus, mathematical computation, pre-calculus, analytic geometry, first year calculus, business calculus, mathematical writing (by Knuth), computer science problem seminar (by Knuth), dynamic systems and chaos, computer musings (by Knuth) and other Donald E. Knuth lectures)


Computer Science Courses
(Includes introduction to computer science and computing systems, computational complexity and quantum computing, the c programming language, multicore programming, statistics and data mining, combinatorics, software testing, evolutionary computation, deep learning, data structures and algorithms and computational origami.)

Free Computer Science Courses

Posted by farooq

Hi everyone! This month I have a tasty collection of free computer science courses. All the courses have videos included.

The topics include: Introduction to computer science. Computational complexity and quantum computing. Introduction to computing systems. The C programming language. Multicore programming. Statistics and data mining. Combinatorics. Software testing. Evolutionary computation. Deep learning. Data structures and algorithms. Bonus lecture: Computational origami.


Introduction to Computer Science and Programming (MIT 6.00)


Course Website
Programming Video Lectures
Exams and Solutions

Course description:
This subject is aimed at students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems. It also aims to help students, regardless of their major, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class will use the Python programming language.

Course topics:
What is computation; introduction to data types, operators, and variables. Operators and operands; statements; branching, conditionals, and iteration. Common code patterns: iterative programs. Decomposition and abstraction through functions; introduction to recursion. Floating point numbers, successive refinement, finding roots. Bisection methods, Newton/Raphson, introduction to lists. Lists and mutability, dictionaries, pseudocode, introduction to efficiency. Complexity; log, linear, quadratic, exponential algorithms. Binary search, bubble and selection sorts. Divide and conquer methods, merge sort, exceptions. Testing and debugging. More about debugging, knapsack problem, introduction to dynamic programming. Dynamic programming: overlapping subproblems, optimal substructure. Analysis of knapsack problem, introduction to object-oriented programming. Abstract data types, classes and methods. Encapsulation, inheritance, shadowing. Computational models: random walk simulation. Presenting simulation results, Pylab, plotting. Biased random walks, distributions. Monte Carlo simulations, estimating pi. Validating simulation results, curve fitting, linear regression. Normal, uniform, and exponential distributions; misuse of statistics. Stock market simulation. Course overview; what do computer scientists do?


Computational Complexity and Quantum Computation (Tim Gowers)


Comp. Complexity and Quantum Computation Video Lectures


Course description:
Computational complexity is the study of what resources, such as time and memory, are needed to carry out given computational tasks, with a particular focus on lower bounds for the amount needed of these resources. Proving any result of this kind is notoriously difficult, and includes the famous problem of whether P=NP. This course will be focused on two major results in the area. The first is a lower bound, due to Razborov, for the number of steps needed to determine whether a graph contains a large clique, if only "monotone" computations are allowed. This is perhaps the strongest result in the direction of showing that P and N P are distinct (though there is unfortunately a very precise sense in which the proof cannot be developed to a proof of the whole conjecture). The second is Peter Shor's remarkable result that a quantum computer can factorize large integers in polynomial time.

Course topics:
Equivalence between Turing machines and the circuit model of compuation. Final details needed for the quantum Fourier transform, such as how to "uncompute". Solving the descrete logirithm problem. Definition of P, NP and NP-complete and some examples. A demonstration that clique is NP-complete, and some lower bound complexity proofs which don't work. Razborov's proof that no monotone circuit can solve Clique in polynomial time. No "natural proof" exists for proving a separation between P and NP if one-way functions exist. We then move into a mathematician's description of quantum computation starting from probabilistic computation. Description of quantum computation continued. We start describing Shor's factoring algorithm.


Introduction to Computing Systems


Course Website
Computing Systems Video Lectures
Exams


Course topics:
Computer systems organized as a systematic set of transformations; representation using bits. Bits and Operations on Bits: unsigned and signed integers; arithmetic and logical operations; ASCII; floating point; hexadecimal notation. Digital Logic Structures: gates; combinational logic; storage elements. Digital Logic Structures: memory; sequential logic; clock. The von Neumann Model: basic concepts; instruction processing; sequencing. The LC-3: Instruction Set Architecture. The LC-3: Example program in LC-3 machine language; LC-3 datapath. Programming: problem solving using systematic decomposition, more examples, debugging. LC-3 Assembly Language; examples; assembly process. I/O abstractions: input from the keyboard, output to the monitor. Repeated Code: TRAPs and subroutines; Examples. Stacks; Executing subroutines with stacks. Introduction to C; Variables and Operators: basic data types, simple operators, examples. Operators: simple operators, memory allocation of variables, examples. Control Structures: conditional constructs. Control Structures: iterative constructs, comprehensive examples, problem solving. Functions: introduction, syntax, run-time stack. Functions: activation records, examples. Pointers and Arrays: introduction, problem solving, examples. Arrays: 2D arrays, examples. Testing and Debugging: introduction, error taxonomy, using a debugger. Recursion: introduction, basic example, example showing run-time stack. Input and Output in C: standard library, basic I/O calls, file I/O, example. Basic Data Structures: introduction. Basic Data Structures: structures, defining new types, enumerations, dynamic memory allocation. Basic Data Structures: linked lists. Basic Data Structures: linked lists, linked structure traversal. Comprehensive Case Study: sorting. Simple Guide to C++: Design, abstractions, and implementation. Course Wrap-up and Advice for Sophomore System Builders.


Multicore Programming (MIT 6.189)


Course Website
Multicore Programming Video Lectures


Course description:
The course serves as an introductory course in parallel programming. It offers a series of lectures on parallel programming concepts as well as a group project providing hands-on experience with parallel programming. The students will have the unique opportunity to use the cutting-edge PLAYSTATION 3 development platform as they learn how to design and implement exciting applications for multicore architectures.

Course topics:
Introduction to Cell processor. Introduction to parallel architectures. Introduction to concurrent programming. Parallel programming concepts. Design patterns for parallel programming I. Design patterns for parallel programming II. StreamIt language. Debugging parallel programs. Performance monitoring and optimizations. Parallelizing compilers. StreamIt parallelizing compiler. Star-P. Synthesizing parallel programs. Cilk. Introduction to game development. The Raw experience. The future.


Statistical Aspects of Data Mining (Data Mining at Google)


Data Mining Video Lecture 1
Data Mining Video Lecture 2

Data Mining Video Lecture 3

Data Mining Video Lecture 4

Data Mining Video Lecture 5

Data Mining Video Lecture 6

Data Mining Video Lecture 7

Data Mining Video Lecture 8
Data Mining Video Lecture 9

Data Mining Video Lecture 10

Data Mining Video Lecture 11
Data Mining Video Lecture 12
Data Mining Video Lecture 13
Course Website


This is a talk series being given at Google by David Mease based on a Master's level stats course he is teaching this summer at Stanford.

Course topics:
1. Discussion of locations of potentially useful data (grocery checkout, apartment door card, elevator card, laptop login, traffic sensors, cell phone, google badge, etc). Note mild obsession with consent. Overview of predicting future vs describing patterns, and other broad areas of data mining. Intro to R. 2. Data. Reading datasets into excel and R. Observational (data mining) vs Experimental data. Qualitative analysis vs quantitative analysis. Nominal vs ordinal. 3. Sampling. 4. Empirical distribution function. Histograms. Plots. 5. Overlaying multiple plots. Statistical significance. Labels in plots. 6. Box plots. Color in plots. Installing R packages. ACCENT principles and Tufte. 7. Association Rules. Measures of location. Measures of spread. Measures of association. Frequent itemsets. Similar to conditional probabilities. 8. More association rule mining. Support and confidence calculations. Personalization using rules. Beyond support and confidence. 9. Review. 10. Data Classification. A negative view of decision trees. Decision trees in R. Algorithms for generating decision trees. 11. More decision trees. Gini index. Entropy. Pruning. Precision, recall, f-measure, and ROC curve. 12. Nearest Neighbor. KNN. Support Vector Machines. Adding 'slack' variables, using basis functions to make the space linearly separable. Some comments on Stats vs ML. Intro to ensemble (uncorrelated) classifiers. Random Forests. AdaBoost - Adaptive Boosting. Some discussion of limits of classifiers (nondeterministic observational datasets). Clustering. K-Means.


Data Structures and Algorithms (COMP1927, UNSW)


Data Structures and Algorithms Video Lectures


Lectures by Richard Buckland from The University of New South Wales.

Course topics:
Abstract data types. Stacks. Queues. Recursion. Time and Space Complexity. Big Oh Notation. Complexity Analysis. BFS (Breadth First Search). DFS (Depth First Search). Trees. Tree Algorithms. Self Balancing Trees. Graphs and Graph Algorithms. C99 Extensions. Unit Testing. Debugging. Pair Programming.


Peter Gibbons Memorial Lecture Series


Peter Gibbsons Memorial Video Lectures


The Combinatorics at the Heart of the Problem


Making Software Testing Easier


Developing Darwin's Computer


Technologies for Deep Learning



Computational Origami


Erik Demaine on Computational Origami


Lecture description:
As a glassblower, Tetris master, magician, and mathematician, the MIT professor has spent his life exploring the mysterious and fascinating relationships between art and geometry. Here, he discusses the potential of lasers, leopard spots, and computer science to breathe new life into everything from architecture to origami. Demaine has a "hard time distinguishing art from mathematics." His approach to art has a strong emphasis on collaboration, which as he says, is a rare thing in art. Demaine is a professor in computer science and mathematics. He realized that "mathematics (itself) is an art form." During the talk, he also mentions Escher's study of mathematics.


Have fun with these lectures!


Related Posts

Free Computer Science Video Lecture Courses
(Courses include web application development, lisp/scheme programming, data structures, algorithms, machine structures, programming languages, principles of software engineering, object oriented programming in java, systems, computer system engineering, computer architecture, operating systems, database management systems, performance analysis, cryptography, artificial intelligence)


Programming Lectures and Tutorials
(Lectures include topics such as software engineering, javascript programming, overview of firefox's firebug extension, document object model, python programming, design patterns in python, java programming, delphi programming, vim editor and sqlite database design)


Programming, Networking Free Video Lectures and Other Interesting Ones
(Includes lectures on Python programming language, Common Lisp, Debugging, HTML and Web, BGP networking, Building scalable systems, and as a bonus lecture History of Google)


More Mathematics and Theoretical Computer Science Video Lectures
(Includes algebra, elementary statistics, applied probability, finite mathematics, trigonometry with calculus, mathematical computation, pre-calculus, analytic geometry, first year calculus, business calculus, mathematical writing (by Knuth), computer science problem seminar (by Knuth), dynamic systems and chaos, computer musings (by Knuth) and other Donald E. Knuth lectures)


More Mathematics and Theoretical Computer Science Video Lectures
(Includes algebra, elementary statistics, applied probability, finite mathematics, trigonometry with calculus, mathematical computation, pre-calculus, analytic geometry, first year calculus, business calculus, mathematical writing (by Knuth), computer science problem seminar (by Knuth), dynamic systems and chaos, computer musings (by Knuth) and other Donald E. Knuth lectures)


Pure Computer Science
(Includes basics of computation theory, intro to computer science, data structures, compiler optimization, intro to computers and internet, intro to clojure, and some videos from EECS colloquium at Case Western Reserve University.)

Computer science resources for academics

Posted by farooq

Google has a long history of involvement with universities, and we're excited to share some recent news on that front with you. At the main Google campus this week we're hosting the Google Faculty Summit, which involves universities all over participating in discussions about what we're up to in research-land as well as computer science education - something very near and dear to us.

Meanwhile, because we know that between teaching, doing research and advising students, computer science educators are quite strapped for time, we've recently launched a site called Google Code for Educators. While you may have previously heard about our offerings for K-12 teachers, this new program is focused on CS topics at the university level, and lets us share the knowledge we've built up around things like distributed systems and AJAX programming. It's designed for university faculty to learn about new computer science topics and include them in their courses, as well as to help curious students learn on their own.

Right now, Google Code for Educators offers materials for AJAX web programming, distributed systems and parallel programming, and web security. The site includes slides, programming labs, problem sets, background tutorials and videos. We're eager to provide more content areas and also more iterations for existing topic areas. To allow for liberal reuse and remixing, most sample course content on Code EDU is available under a Creative Commons license. Please let us know your thoughts on this new site.

Beyond CS education, another important faculty topic is research. Google Research offers resources to CS researchers,including papers authored by Googlers and a wide variety of our tech talks. You might be interested in learning more about MapReduce and the Google File System, two pieces of Google-grown technology that have allowed us to operate at enormous scale. We also recently put together a few university research programs and we're eager to see what academics come up with.

Overview of Computer Architecture

Posted by farooq

Your computer system consists of thousands of individual components that work in harmony to process data. Each of these components has its own job to perform, and each has its own performance characteristics.

The brainpower of the system is the Central Processing Unit(CPU), which processes all the calculations and instructions that run on the computer. The job of the rest of the system is to keep the CPU busy with instructions to process. A well-tuned system runs at maximum performance if the CPU or CPU are busy 100% of the time.

So how does the system keep the CPUs busy? In general, the system consists of different layers, or tiers, of progressively slower components. Because faster components are typically the most expensive, you must perform a balancing act between speed and cost efficiency.

CPU and Cache


The CPU and the CPU’s cache are the fastest components of the system. The cache is high-speed memory used to store recently used data instructions so that it can provide quick access if this data is used again in a short time. Most CPU hardware designs have a cache built into the CPU chip. This internal cache is known as a Level 1 (or L1) cache. Typically, an L1 cache is quite small-8-16KB.

When a certain piece of data is wanted, the hardware looks first in the L1 cache. If the data is there, it’s processed immediately. If the data is not available in the cache, the hardware looks in the L2 cache, which is external to the CPU chip but located close to it. The L2 cache is connected to the CPU chip(s) on the same side of the memory bus as the CPU. To get to main memory, you must use the memory bus, which affects the speed of the memory access


CPU Design


Most instructions processing occurs in the CPU. Although certain intelligent devices, such as disk controllers, cam process some instruction, the instructions these devices can handle are limited to the control of dada moving to and from the devices. The CPU works from the determine how quickly these instructions are executed.
The CPU usually falls into one of two groups process:

Complex Instructions Set Computer(CISC) or
Reduced Instructions Set Computer(RISC).

Plotter

Posted by farooq

Plotter
is an important output device. Used to print high quality graphics and drawings. Although the graphics can be printed on printers, the resolution of such printing is limited on printers. Plotters are generally used for printing/drawing graphical images such as charts, drawings, maps. Of engineering and scientific application.

Some important types of printers are:

a.) Flat Bed Plotters:
These plotters print the graphical images by moving the pen on stationary flat surface material. They produce very accurate drawings.

b.) Drum Plotters:
These plotters print graphical images by moving both the pen and the drum having paper. They do not produce as accurate drawings as printed by flat bed plotters.

c.)Inkjet Plotters: These plotters use inkjet in place of pens. They are faster than flat bed plotters and can print multi-colored large drawings

Plotter

Posted by farooq

Plotter
is an important output device. Used to print high quality graphics and drawings. Although the graphics can be printed on printers, the resolution of such printing is limited on printers. Plotters are generally used for printing/drawing graphical images such as charts, drawings, maps. Of engineering and scientific application.

Some important types of printers are:

a.) Flat Bed Plotters:
These plotters print the graphical images by moving the pen on stationary flat surface material. They produce very accurate drawings.

b.) Drum Plotters:
These plotters print graphical images by moving both the pen and the drum having paper. They do not produce as accurate drawings as printed by flat bed plotters.

c.)Inkjet Plotters: These plotters use inkjet in place of pens. They are faster than flat bed plotters and can print multi-colored large drawings

Data Scanning Devices

Posted by farooq

Optical Recognition System:

Optical Recognition System provide another means of minimizing keyed input by capturing data at the source. These systems enable the computer to “red” data by scanning printed text for recognizable patterns.

The banking industry developed one of the earliest scanning systems in the 1950’s for processing cheque. The Magnetic link Character Recognition (MICR) system is still used throughout the banking industry. The bank, branch, account number and cheque number are encoded on the cheque before it is sent to the customer. After the customer has used the cheque and it comes back to the bank to the bank, all that needs to be entered manually is the amount. MICRO has not been adopted by other industries because the character set has only fourteen symbols.



Bar Code Reader:

Of all the scanning devices, you are probably most familiar with BAR CODE READES. Many retail and grocery stores use some from of bar code reader to determine the item being sold and to retrieve the item price from a computer system. The code reader may be a handled unit or it may be embedded in a countertop. The bar code reader reads the Universal Product Code(UPC), a pattern of bars printed on merchandise. The UPS has gained the use of the code because the system was used to check their accuracy and speed. Today, bar codes are used to update inventory and ensure correct pricing. Federal Express employees can usually tell a customer within a matter of minutes the location of any package.


Optical Mark Reader:

By taking exams, you are familiar with Mark Sense Character Recognition systems. Every time you take a test with a “fill in the bubble” Scranton from and use a #2 lead pencil, you are creating input suitable for and OPTICAL MARK READER (ORMO. A #2 lead pencil works best because of the number of magnetic particles in that weight lead. The OMR sense the magnetized marks, enabling the reader to determine which responses are marked.

Optical Scanners:

Can scan typed documents, pictures, graphics or even handwriting into a computer. Photographs scanned into a microcomputer appear clearly on the screen and can be displayed whenever desired. The copy that the computer stores never yellows with age. Early scanners could recognize only text printed in a special OPTICAL CHARACTER RECOGNITION(OCR) typeface. A scanner converts the image that it sees into numeric digits before storing it in the computer. This conversion process in known as DIGIZING.

Depending on the volume and type of material to be scanned, you can use drum scanner, flatbed scanner, sheeted scanner and even small handheld scanners. The small, hadheld scanner sheeted scanners(priced at about $150) are used most frequently with micro microcomputer; however, only 5 per cent of all microcomputer systems are equipped with scanners. Manufacturers responded to user reluctance to use scanners by releasing in 1995 a number of new, small paper scanners priced between $500 and $700.) most of these new devices sit between the keyboard and the monitor and can interface with a fax machine, send e-mail, and store documents on disk for archive purposes.

Digitizer:

Digitizer is used to create drawing and pictures using a digitizer tablet by a process called digitizing. Digitizing is a process by which graphic representations are converted into digitizer consist of 3 main parts – a flat surface called tablet, a small hand held mouse-like device called puck and a special pen like device called stylus. The puck is used to input existing drawings into the computer. The stylus is used to trace exiting drawing placed on the tablet. The user makes contact to the tablet with stylus. As the stylus is connected to the tablet by a write, the traced image is stored in RAM and displayed on the monitor.


Electronic Card Reader:

Before discussing electronic card reader, let we discuss electronic credit cards. Electronic credit card make it possible to charge online payments to one’s credit card account. It is card details can be encrypted by using the SSL. Protocol in the buyer’s computer, which is available in standard browsers. The number of input devices are common in association with ash transactions. The most common are ATMs and POS terminals.

1. ATM:

Automatic Taller Machine are interactive input/output devices the enable people to make bank transactions from remote locations. ATMs utilize screen input as well as magnetic card readers.

2. POS:
Point of Sale: terminals are computerized cash registers that also often incorporate touch screen technology and bar-code scanners. These devices allow the input of numerous data such as item sold, price, method of payment, name or Zip code of the buyer, and so on. Some inputs are automated; others may be entered by the operators.

Vision Input System:

Are the latest input devices that can recognize the vision/image which appears in the range of its lens. It seems to be vary useful and are becoming popular in different Got. Departments like licensing, passport department and other authorities where personal identification is required.

Keyboard Devices

Posted by farooq


Keyboard Devices:

Most input data is entered input the computer by using a keyboard. This input methods is similar to typing on a typewriters.

Most typewriters and computer keyboards are Qwerty Keyboards. The alphabetic keys are arranged so that the upper-left row of letters begins with the six letters QWERTY. Designers of other keyboards claim that their boards are easier to learn than the QWERTY keyboard.

Computer keyboards

Include keys that are designed to perform specific tasks. These special keys include function keys, directional keys and special-purpose keys such as Alt, Ctrl, Enter, Ins, and Esc. These keys enable the user to perform complex tasks easily when using the application.

Some of keyboards have even 112 keys, with three new keys designed to simplify worki
ing with Windows 98. two of these keys, next to the Alt key, bring up Start menu. The third key, next to the right Ctrl key, brings up a menu of functions that are frequently accessed in whichever application is currently being used.


Point and Draw Devices : Many people use devices instead of keyboards whenever possible. Pointing devices minimize the amount of typing (consequently, the number of errors). The many pointing devices available include the mouse, trackball, light pen, digitizing tablet, touch screen and pen-based systems.




The Mouse and Track Ball: The mouse is a palm-size device with a ball built into the button. The mouse is usually connected to the computer by the cable (computer wires are frequently called cables) and many have from one to four buttons (usually two). The mouse may be mechanical or optical and comes in many shapes and sizes. When you move the mouse over a smooth surface, the calls rolls, and the pointer on the display screen moves in the same direction. The Apple Macintosh, with its graphical user interface, made the mouse popular. Now, most microcomputer systems, regardless of the manufacturer, use a mouse. With the mouse, you can draw, select options from a menu and modify or move text. You issue commands by pointing with the pointer and clicking a operating a microcomputer easier for beginning users.



Touchpad:

The touch pad is a stationary pointing devices that people find less tiring to use than a mouse or a track ball. The movement of a finger across a small touch surface is translated into cursor movement on the computer screen. The touch sensitivity surface may be just 1.5- 2 inch square, so the finger does not have to move much. Its size makes it most suitable for the notebooks or the laptops.

A device

That was released in 1995 enables the user to move the cursor using and infrared pen. The pen is cordless and works when it is as fifteen feet from the screen. Although the mouse is still the most pointing device, these innovations may change that in future.



Joysticks:
A joysticks is a pointing device often used for playing games. The joystick has a gearshift-like lever that is used to move the pointer on the screed. On most joysticks, a button on the top is used to select options. In industry and manufacturing, joysticks are used to control robots. Flight simulators and other training simulators also use joysticks.


Touch-Sensitive Screens:

Perhaps the easiest way to enter data is with the touch of finger. Touch screens enable the user to select and option by pressing a specific part of the screen. Touch screens are commonly used in grocery stores, fast-food restaurants and information kiosks.