School of Engineering and Applied Science
Department of Computer Science
CSci 41 -- Introduction to Computer Science
http://www.seas.gwu.edu/~csci41/fall05
Prof. Michael B. Feldman
mfeldman@gwu.edu

Occasional Lecture Notes

last change: Friday, Dec. 2, 2005

Notes from Lectures of Nov. 29 and Dec. 1, 2005

Software Design Affects Society


Review: What Is Design?
Legalism in Licensing Consumer Software
Some Major Software Failures

What Is Design?

The difference between analysis and design can be defined in the following way:

Some Software Design Failures




The Therac-25 Radiation-Therapy Machine (1985-87)


Overconfidence was the culprit in the most widely known case of unsafe software. It involved the Therac-25, a radiation-therapy machine. Between June 1985 and January 1987, six known accidents occurred, involving patients being given massive overdoses of radiation. Two patients in Galveston, TX died.

A machine like the Therac-25 can deliver two kinds of radiation, X-rays and electrons. Electrons work well for irradiating cancers near the surface. For cancers further in, X-rays are used. To get the X-rays, a tungsten shield is placed over the patient's body. A very powerful stream of electrons is directed at it, which causes it to emit X-rays. The X-rays must be emitted only when the shield is in place.

Here is the error that caused the problem: The operator prepared to send X-rays, then realized she had made a mistake. She switched the machine over to electrons, and the shield retracted. But it retracted before the intensity of the beam was lowered. Patients felt a severe burning sensation, and this was only the start of their problems. Radiation sickness followed.

Some of the software from the Therac-20, a previous version, was reused in the Therac-25. The Therac-20 had included a mechanical interlock. But it had been run for years without any software problems being noticed. So the mechanical interlock was removed on the Therac-25. Turns out, when the bug occurred in the Therac-20, before any harmful radiation could be emitted, it blew a fuse.

Source: http://courses.cs.vt.edu/~cs3604/lib/Therac_25/Therac_1.html


The General Motors Air Bag Recall (July 1998)

General Motors Corp. recalled nearly 1 million cars with air bags that can deploy inadvertently, company officials said today. About 863,000 GM [cars] from the 1996 and 1997 model years are being recalled, along with 103,000 ... cars from model year 1995...
The National Highway Traffic Safety Administration was investigating 96 complaints involving ... air bags inadvertently deploying while the cars were being driven under normal conditions over paved roads. GM told the agency there was an increased risk of an air bag deployment in a low-speed crash or when an object strikes the car's floor. An agency report said there were complaints of 10 crashes and 53 injuries.

The autos are being recalled to change the software programming for the air bag computer....

http://kwtv.newsok.com/investigators/consumer/CW71398.htm

A Verbatim Copy from www.nhtsa.gov

General Motors Corporation
Models:     Cadillac SRX                   Year:      2004
Number Potentially Involved:  11,375
Dates of Manufacture:  March 2003 -- January 2004
Defect:  On certain passenger vehicles equipped with all wheel drive, the antilock brake system (ABS) may improperly temporarily isolate the driver from the foundation brake system for a maximum of 1.25 seconds. This can cause an increase in braking distance, which could result in a crash.
Remedy:  Dealers will reprogram the ABS electronic control unit. The manufacturer has reported that owner notification is expected to begin during April or May 2004. Owners may contact Cadillac at 1-866-982-2339.
[NHTSA Recall No. 04V151/GM Recall No. 04018]

A Verbatim Copy from www.nhtsa.gov

DaimlerChrysler Corporation
Models:     Chrysler Pacifica                   Year:      2004
Number Potentially Involved:  34,561
Dates of Manufacture:  January - July 2003
Defect:  On certain sport utility vehicles equipped with a NGC-1 powertrain control module, the software protocol used to test the vehicle exhaust gas recirculation (EGR) system may lead to engine stalling under certain circumstances, increasing the risk of a crash.
Remedy:  Dealers will install revised engine controller software, which will eliminate the potential for the stalling condition. The manufacturer has reported that owner notification began on March 15, 2004. Owners may contact DaimlerChrysler at 1-800-853-1403. 
[NHTSA Recall No. 04V113/DaimlerChrysler Recall No. D15]


The Y2K Problem: Bug or Feature?


PROBLEM: How do we represent a calendar date in a computer program or file?
Suppose memory (RAM, especially) is very expensive and every character (byte) is precious?
What happens if we need to change the representation?
If we see a long-term problem coming, when should we start spending money to fix it?

The REAL Y2K bug: was 2000 a leap year, or not?

The ILOVEYOU Computer Virus (2000)

The ILOVEYOU virus arrived as a "script" (small Visual BASIC program) hidden in an e-mail attachment. When the attachment was opened in Microsoft Outlook, the program ran. It

copied itself to lots of the user's files
e-mailed a copy of itself to everyone in the user's address book
looked around for passwords

Design Question: why should a PC allow little programs to arrive in e-mail messages, and to run without asking the user?

Source: http://www.cert.org/advisories/CA-2000-04.html


The Bottom Line



Notes from Lecture of Nov. 22, 2005

Betsy Broder's Notes on Identity Theft (PDF file, 18 mb)


Links from CS@GW Faculty Guest Lectures November, 2005

Tue Nov.  1 Artificial Intelligence: Can Machines Think? (PowerPoint file, 7.3 mb) (Prof. Peter Bock)
Thu Nov.  3 Computability: the BIG Questions in Computer Science (PDF file, 3 mb) (Prof. Rhys Price Jones)
Tue Nov.  8 Bioinformatics (Links page, including link to guest lecture) (Prof. Liliana Florea)
Thu Nov. 10 Computer Security and Information Assurance (PowerPoint file, 3.6 mb) (Prof. Poorvi Vora)
Tue Nov. 15 Digital Media (Links page) (Prof. James Hahn)
Thu Nov. 17 Biomedical Computing (Links page) (Prof. James Hahn)


Notes from Lectures of Sept. 15 and Sept. 20, 2005

Prof. Martin's notes on Internet History (download PDF)


Notes from Lecture of Sept. 13, 2005

Prof. Feldman's Personal Computing History



Notes from Lectures of Sept. 6 and Sept. 8, 2005

What Is Computer Science?

Strangely, our textbook, subtitled An Introduction to Computer Science, doesn't define the term!

Some representative 10-minute-exercise responses:
"I am not really sure what Comp. Sci. is. This is why I chose it as my major, because I want to know..."
"Computer Science is the study of computer languages"
"Computer Science is the study of data structures, efficiency, and use of computers for data storage and computations"
"Computer Science is the study of computer software. Mainly it's studying "computer language" and being able to design programs"
"Computer science is the language syntax & style of computer programming. Also it is how programming is approached."


More 10-minute exercise responses:

"When I hear the words computer science, what comes to mind is learning programming and learning different languages such as Java and C++. There is also web design, computer engineering, and digital media design (drawing on a computer). Other than that, Im not sure what to expect, but I'm ready for the adventure to come."
"Computer Science involves learning the fundamental principles of solving real world problems by using computers. This may be learning of certain algorithms that help you easily sort data, but  basically advancing the work that people do so we can be more complex."
"Computer Science is composed of mathematics, programming. A lot of thinking and analysis...

"...work opportunities for BA & BS students...

"...I also know that it is designed to be really hard."

What Is Computer Science?


source: Computing Sciences Accreditation Board (CSAB), “Defining the Computing Sciences Professions”, http://www.csab.org/comp_sci_profession.html


What Is a Computer Scientist?


source: ibid.

University Computer Science Curricula



Subjects Studied in the CS Curricula

CS website: http://www.cs.gwu.edu


BS Required (plus 1 CS elective)

BA Required (plus 4 CS electives)

Some Elective Subjects (BS or BA)



Computer Science Minor


In GW terminology,
in a given field, the curriculum requirements for a minor are not necessarily the same as for a secondary field.

CSci Secondary Field Required (minor is similar)



Inter-School Dual Majors:

Computer Science and ??



CSci 41—What Do We Do Here?


    Computing History
    Evolution of the Internet
    What Is Design?
    Algorithms
    Software and Translation
    Hardware
    Ethics and Professionalism
     Computability: the BIG Questions in CS
    Artificial Intelligence: Can Machines Think?
    Real-time and Safety-critical Systems
    Computers in Society


CSci 41—Units on GW's CS Specialties

(curriculum options; guest lectures in CSci 41)



"Moore's Law": a Continuing Theme


Consider this definition from the Free Online Dictionary of Computing (www.foldoc.org),

“Moore's Law
The observation, made in 1965 by Intel co-founder Gordon Moore while preparing a speech, that each new memory integrated circuit contained roughly twice as much capacity as its predecessor, and each chip was released within 18-24 months of the previous chip.”

Moore predicted that roughly every 18-24 months, computer capability would double.


(end of document)