DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
UNIVERSITY OF CALIFORNIA, SAN DIEGO
CSE 92: Reading and Writing in Computer
Science
Spring 2005
CSE 92 is a unique opportunity for undergraduates in
computer science at UCSD to expand and refine their academic
skills. Students will improve their ability to read and
write English, and they will also learn a new paradigm for
writing programs. The class will meet once per week, on Fridays
from 2pm to 3:20pm, in Center Hall room 218.
The course will have two main components.
- First, each student enrolled in the course will choose one
important
book and write two short papers that include an an analysis and
critique of
the observations and arguments of the book. The instructor will
help all
students individually to outline, draft, and revise their papers.
The objective of this part of the course is to give all students the
ability to read and write with depth and precision.
- Second, students will learn the concepts of functional
programming and do a project using the ML language. This part of
the course will teach an appreciation for elegance and high-level
thinking in software development. The objectives of this part of
the course are similar to those of courses that use Scheme and the book
Structure
and Interpretation of Computer Programs.
The course carries two units of credit. Each student will be
evaluated 1/2 on his or her written papers, 1/4 on the final ML
programming project,
and 1/4 on a final exam. Students must take the course for a
letter grade. The prerequisite for CSE 92 is CSE 12.
Although the course is designed for lower-division students,
upper-division CSE majors may also enroll. The section id for
registration is
544091. The class meets once
per week, on Fridays from 2pm to 3:20pm, in
Center Hall room 218.
Required reference books for the course include ML for the Working Programmer by Lawrence C.
Paulson and The Nuts and Bolts of College
Writing
by Michael Harvey.
Full implementations
of the ML language are
available free for Linux, Windows, and many other operating systems.
HELP WITH WRITING
If you are not confident that you know how to write well
then you should seek help and advice. Prof. Elkan is available to
assist you. However you should
also use other resources. In particular you should use the UCSD
Office
of Academic Support and Instructional Services (OASIS) for help with
writing.
The OASIS Writing Center is located in Center Hall. Call 534-3760
to make
an appointment.
According to their web page:
"The Writing Center offers the UCSD community FREE
one-to-one
conferences on any kind of writing project ... Various workshops are
offered,
including ... essay writing ... The OASIS writing test assesses your
strengths
and weaknesses in writing and editing academic papers. ... Individual
tutorial
services are available to students whose first language is not English."
The best books on the basics of good writing are The Nuts and Bolts of College
Writing
by Michael Harvey and The Elements of Style
by William Strunk Jr. and E. B. White, Macmillan, New York, third
edition,
1979. The full
text
of the 1918 edition of Strunk and White is out of copyright and
available online. After you have mastered the mechanics of
writing, the next challenge is
to develop a sense of style. The book Clear
and Simple as the Truth: Writing Classic Prose by Francis-Noel
Thomas
and Mark Turner is a wonderful treatise on the topic of writing
style.
Be sure to explore the authors' online
guide to good writing.
BOOKS TO CHOOSE
Examples of books that participants may choose include:
- High
Stakes, No Prisoners: A Winner's Tale of Greed and Glory in the
Internet
Wars by Charles H. Ferguson
- High
Tech Start Up: The Complete Handbook for Creating Successful New High
Tech Companies by John L. Nesheim (2nd ed.)
- Competing
on Internet Time: Lessons from Netscape and Its Battle With Microsoft
by Michael A. Cusumano and David B. Yoffie
- In
the Beginning... Was the Command Line by Neal Stephenson
- Findings of Fact on Microsoft
by Judge Thomas Penfield Jackson
- Code and
Other
Laws of
Cyberspace by Lawrence Lessig
- Republic.com
by Cass Sunstein
- The
Control
Revolution: How The Internet is Putting Individuals in Charge and
Changing
the World We Know by Andrew L. Shapiro
- Database
Nation: The
Death of Privacy in the 21st Century by Simson Garfinkel
- After
the Gold Rush: Creating a True Profession of Software Engineering
by Steve M. McConnell
- The
Mythical
Man-Month: Essays on Software Engineering by Frederick P.
Brooks
Jr.
- Secrets
of Software Success : Management Insights from 100 Software Firms
Around
the World by Detlev J. Hoch, Cyriac R. Roeding, Gert Purkert,
Sandro
K. Lindner
- Computer
Power and Human Reason : From Judgement to Calculation by
Joseph
Weizenbaum
- Computers
Ltd: What They Really Can't Do by David Harel
- Computation
and Human Experience by Philip Agre
- The
Invisible Computer: Why Good Products Can Fail, the Personal Computer
Is So Complex, and Information Appliances Are the Solution by
Donald
A. Norman
- Designing
Web Usability: The Practice of Simplicity by Jakob Nielsen
- The
Social Life of Information by John Seely Brown and Paul Duguid
- Questioning
Technology by Andrew Feenberg
- Digital
Capitalism: Networking the Global Market System by Dan Schiller
- Consilience:
The Unity of Knowledge by Edward O. Wilson
- Sorting
Things Out: Classification and Its Consequences by Geoffrey C.
Bowker and Susan Leigh Star
- Understanding
Media:
The Extensions of Man by Marshall McLuhan
- Avatars
of the Word: From Papyrus to Cyberspace by James Joseph
O'Donnell
- Inventing
the Internet by Janet Abbate
- A
History
of Modern Computing by Paul E. Ceruzzi
- Aramis,
or the Love of Technology by Bruno Latour
- The
Challenger Launch Decision: Risky Technology, Culture, and Deviance at
Nasa by Diane Vaughan
- The
Soul
of a New Machine by Tracy Kidder
- Regional
Advantage: Culture and Competition in Silicon Valley and Route 128
by Annalee Saxenian
- Digital
Divide: Computers and Our Children's Future by David Bolt and
Ray
Crawford
- The
Internet
Edge: Social, Technical, and Legal Challenges for a Networked World
by Mark J. Stefik
- The
Great Disruption: Human Nature and the Reconstitution of Social Order
by Francis Fukuyama
- End
of Millennium by Manuel Castells
- The
Virtue
of Prosperity: Finding Values In An Age Of Techno-Affluence by
Dinesh D'Souza
- The
New Renaissance: Computers and the Next Level of Civilization
by Douglas S. Robertson
- Consulting
Demons: Inside the Unscrupulous World of Global Corporate Consulting
by Lewis Pinault
- The
Innovator's Dilemma by Clayton M. Christensen
- Blown
to Bits: How the New Economics of Information Transforms Strategy
by Philip Evans and Thomas S. Wurster
- The
Economic Laws of Scientific Research by Terence Kealey
- Information
Rules: A Strategic Guide to the Network Economy by Carl
Shapiro
and Hal R. Varian
- Friction-Free
Economy by Ted Lewis
- The
Gorilla Game: Picking Winners in High Technology by Geoffrey
A.
Moore, Paul Johnson, Tom Kippola
- The
Cathedral and the Bazaar: Musings on Linux and Open Source by an
Accidental
Revolutionary by Eric Raymond
- The
Hacker
Ethic by Pekka Himanen, Manuel Castells (Epilogue), Linus
Torvalds
- Free
for
All: How Linux and the Free Software Movement Undercut the High-Tech
Titans
by Peter Wayner
- "The
New
Yorker" Looks at the Age of Affluence by David Remnick
Other books may be chosen also, with the consent of the instructor.
Most recently updated on May 12, 2005 by Charles Elkan,
elkan@cs.ucsd.edu.