Computer Science 1001: An Overview of Computer Science
Spring 2005
Course Syllabus
Basic Information
Class Meetings
MWF from 1:25 to 2:15 pm in EE/CSci 3-210. Note: Monday classes are full-class discussions.
Plus, one laboratory session
each week in EE/CSci 2-120 (pre-scheduled).
Instructor
Joseph A. Konstan konstan@cs.umn.edu
EE/CSci 5-207 (612) 625-1831
Office
hours: TBA
Please come see me whenever you have concerns about
understanding course material, or if you'd like to talk more generally about
Computer Science as a whole.
Head Teaching Assistant
Max Harper harper@cs.umn.edu
EE/CSci (612) 62
Office
hours: TBA
Please see the head TA for any administrative
requests (laboratory section changes, extension requests, re-grading requests,
etc.).
Teaching Assistants
To be named, contact info
and lab hours.
Course Description
A broad introduction to the great ideas of Computer Science designed to help you understand the foundations and limits of today's computing and information technology, to help you reason about possible future applications and technological advances, and to help you be informed contributors to the public dialog on policy issues related to technology. This is not an introductory programming or "computing skills" class, rather it is an overview of many areas of computer science including: algorithms for automating the solutions to problems; abstraction in design and problem solving; the fundamental concepts of computer databases, networks, and expert systems; foundations of human-computer interaction; and the core concepts behind the Internet, web, desktop software, and personal computers.
The course is structured around six major activities:
· Class lectures (Wednesdays and Fridays) will focus on topics from Computer Science, covering both technical aspects and their relevance to today's issues.
· Class discussions (Mondays, usually) will provide an opportunity for interactive discussion and debate of current Computer Science-related social, economic, and technical issues facing society.
· Laboratory sections (once per week) will provide a more in-depth opportunity to explore specific course content. Sessions are held in a classroom laboratory where exercises can be completed by pairs of students working on computers.
· Reading assignments, both from a textbook and from on-line sources, are designed to prepare you for course material and inform discussions. Reading assignments are to be completed before the class session for which they are due.
· Problem sets and other written assignments are designed to help you more thoroughly explore Computer Science concepts and their implications. These assignments must be completed individually and they are due at the start of the laboratory session for the week on which they are due.
· The book review assignment, due in your laboratory session the week after Spring break, is an assignment to read and report (briefly) on one of a set of books relevant to the course.
This course is one of several introductory courses in the Computer Science program. It is specifically designed for students seeking an overview of the field with a focus on its relevance in ordinary civic life. If you are more interested in the practical skills of computer programming, you may wish to enroll in CSci 1103, 1107, or 1113. If you are looking for an introduction to Internet technology, you may find CSci 1121 of interest. If you are looking to start a degree program (or minor) in Computer Science, you should enroll in CSci 1901.
Addressing the Goals of Liberal Education
This course was designed to
address the goals of the U of M Twin Cities Campus Liberal Education
Requirements. These requirements, which
apply to all baccalaureate degree students, address a number of fundamental
modes of learning and educational themes.
The specific requirements addressed in this course are Mathematical
Thinking and Citizenship and Public Ethics.
To help you better understand (and benefit
from) the goals of the requirement, a brief summary of those requirements and
the course features designed to address them is included here. The summary is derived from CLE requirements (http://www1.umn.edu/usenate/cle/liberaleducation.html).
General Requirements for Courses in the Diversified Core. All
courses in the core are expected to introduce students to provide disciplinary
content, to introduce students to "ways of knowing" within the
discipline, and to incorporate writing as appropriate to the discipline. CSci 1001 introduces specific skills and
techniques from computer science (starting with fundamentals such as algorithms,
abstraction, mathematical representation, and program representation, and then
building to specialized concepts such as security, cryptography, computational
complexity, human-computer interaction, networking, graphics, databases, and
artificial intelligence). The course
uses many techniques (outlined above) to introduce ways of knowing in computer
science, including readings, lectures, discussions, hands-on laboratory
sessions, and problem assignments. And
the course uses writing in its assignments, as part of on-line discussion, and
in a course book report.
Specific Requirements for Courses in Mathematical Thinking. Any
course fulfilling this requirement should lead students to acquire mathematical
modes of thinking: the ability to
evaluate arguments, to detect fallacious reasoning and evaluate complex
reasoning chains, and the appreciation of the breadth of applications of
mathematics and its foundations. CSci
1001 is particularly geared towards this requirement in that it focuses on core
ideas from computer science as opposed to simply programming and system
building. Some of the core areas covered
include computational abstraction, computational algorithms, logical
expressions, cryptography, rates of growth, statistical security, graphics, and
machine learning.
Specific Requirements for Courses with a Designated Theme of
Citizenship and Public Ethics. Responsible citizenship includes among other things
the capacity to discuss, deliberate, and participate in public affairs. To fulfill this requirement, a course should
include issues and themes of public affairs, citizenship, and public ethics,
both in the abstract and applied to concrete instances, and should include
discussions and writing components to help students develop their own civic
judgments, skills, and capabilities for ethical deliberation. Indeed, the purpose of this course is to educate
students who are unlikely to specialize in computing to the extent that they
can knowledgably participate in public discussion and decision-making on issues
related to computing and information technology. Each week has a full-class discussion session
on a topic of public interest, supported by the technical learnings in the
class and by readings on the topic. It
is intended for the discussion topics themselves to change from year to year
(perhaps 30-40% turnover each year) as new issues become particularly important
in civil society. And it is intended for
the readings to change nearly every year, so that the most recent lay articles
on the topic can be used (from sources such as newspapers, news and analysis magazines,
and in some cases professional magazines).
In
Spring 2005, one of the key issues that will be used is electronic voting. In week 2 of the course, the issue will be
set up with general readings on the topic that familiarize students with the
issues in a broad sense (e.g., the arguments for and against paper records;
historical reasons for banning "take-away" receipts; examples of
systems in use) and a recap of the experience from the 2004 presidential
election. Several weeks later, the topic
will resurface in light of the challenges students have learned about
large-scale computing, distributed computing, and networking and
communications. A few weeks afterwards,
we will focus on the security issues of e-voting -- how does our knowledge of
cryptography and security inform our position on electronic voting and
potential Internet voting. The voting
issues will also return as we discuss the ethics of software construction
including responsibility for failures.
Course URL
All handouts and on-line materials will appear on the course web page at http://www.itlabs.umn.edu/classes/Spring-2005/csci1001. Please check it regularly.
Textbooks and Readings
This course uses three sets of readings. The course textbook, which will be used for most of the technical content of the course, is:
·
Computer
Science: An Overview (8th
Edition) by J. Glenn Brookshear.
Assigned readings on a variety of topics appear in this syllabus and will be linked to from the class website.
Finally, you are responsible for reading and submitting a 1000-word review of one book from the following list. I will discuss each book in more detail during class to help you make your selection. You will note that the newest of these books is a decade old—this choice is intentional. I want to balance the extremely current on-line sources with more time-tested materials.
· The Soul of a New Machine by Tracy Kidder. This Pulitzer Prize-winning book chronicles the development of a Data General minicomputer and the work lives of the developers during the furious development process.
·
The Design of
Everyday Things by Donald Norman.
This book is an excellent introduction to the human side of user
interfaces. By focusing on everyday
objects such as doors, kitchen appliances, and telephones, Norman is able to
effectively and painlessly teach the psychology of human action.
·
Where Wizards
Stay up Late: The Origins of the
Internet by Katie Hafner and Matthew Lyon. A well-researched and well-written history of
the Internet, from its earliest days.
·
The Masters
of Deception: The Gang that Ruled
Cyberspace by Michelle Slatalla and Joshua Quittner. A story of electronic gang warfare and
computer (and telephone network) crime that looks at two rival bands of teenage
hackers and their exploits.
·
Computer-Related
Risks by Peter Neumann. This
now-classic volume describes large numbers of computer-related failures in
everything from aviation to medicine to finance. In discussing the technical causes of these
problems, Neumann also explores what steps we could take to improve the
reliability and safety of the systems.
·
The Visual
Display of Quantitative Information by Edward Tufte. This book is the classic volume on graphic
display of information, using extensive examples to show how to explore, lie,
persuade, and confuse with drawings and images.
Prerequisites and Necessary Background
This course has no prerequisites and should be appropriate for anyone with a High School education. This is designed to be a course for non-technical students (though scientists and engineers are certainly welcome).
Workload
In accordance with University policies, students should expect to spend a total of about 12 hours a week to complete the basic requirements of the course (that time includes four hours of time in class, reading time, assignments, and study time). Of course, each of you is different. Some people read and study faster; others take longer. Please remember that the University policy was based around the idea that meeting the basic requirements represents a C-level grade. To earn a higher grade requires working harder, working smarter, or both.
Working in Pairs, Studying in Groups, Getting Help
In most of the laboratory sessions you will be expected to work in pairs. I encourage you to select a new partner for each session. Working in pairs may be a new experience for some of you. The goal of such work is not simply to "get it done quickly" but rather to make sure that, by working together, both of you master the material. If you feel that you are in a pair where you know more than your partner, take advantage of the opportunity to learn by teaching. If you feel that your partner seems to know everything, then learn from his or her expertise. And if you are well-matched then challenge yourselves to work together to learn new material.
You are encouraged to study in groups, but your assignments must be your work alone. The practical way to ensure that you are not "going over the line" is to spend as much time as you like together discussing readings, course concepts, etc. However, when it becomes time to start working on answers to the assignment questions, please work independently. Copying another student's work is academic dishonesty, and it will be dealt with severely. I should also point out that getting answers from someone else (even a non-student) is also dishonest. Getting answers from the Internet is OK only if you honestly attribute the source of the information and if the information you obtain is supportive of, but not replacing, your own effort. Using course readings to support your answer is always acceptable.
If you feel you need help on any assignment, come see me or any of the teaching assistants. Remember, it is our job to help you learn this material. We'll spend as much time as needed to work with students who are making a good-faith effort to learn.
Course Computing
By registering for this course you will receive an account on the IT Laboratories computers. This account will give you access to the computers in the class laboratories, as well as in a number of laboratories throughout the Institute of Technology. You are welcome to use these for any exploration you do as part of this course. However, you are not required to use them outside of class sessions. Any Windows or Macintosh computer with a Web browser, word processor, and spreadsheet will be sufficient for the class assignments.
Assignments, Examinations, and Grading Policy
Assignments, and Examinations
The course has seven assignments that are due at laboratory sessions. These assignments will be graded on the basis of correctness (on a 10-point scale) and returned.
Laboratory participation is also required and graded. Attendance and effort will be graded on a 5 point scale for each laboratory session.
Your 1000-word book review (longer reviews will be penalized) will be graded on the following criteria: (1) how well the review communicates what you learned from the book and what you hope others would learn from it; (2) correct use of grammar, diction, and punctuation; (3) evidence that you read the book and thought about its contents. The review should not be a summary of the book, rather it answers the question "what would I tell someone else about this book?" I would encourage you to look at book reviews in such venues as The New York Times and The New York Review of Books as well as magazines such as The Atlantic for examples.
Late assignments are
penalized 15% if turned in after the start of the laboratory session where they
are due, but before the end of that day.
They are penalized 30% if turned in between the end of the day on which
they are due and the start of the laboratory session the following week. Assignment will not be accepted after one
week late.
There will be two midterm examinations (March 2 and April 8) and a final exam. These exams will have a mix of short-answer questions, medium-answer questions, and essay questions. A sample exam will be provided (with sample answers). The exams are closed-book, closed-notes. No aids are permitted during the exam.
Make-up Examinations
In accordance with University policies, we will provide alternate midterm exams in advance for students with legitimate University-related conflicts (e.g., sporting events, representing the University in other venues). If you have a personal conflict, please let the head TA know as early as possible, and we will do our best to accommodate you with an exam in advance.
Make-up exams after-the-fact will only be provided when an unforeseeable, documented emergency occurs. (Documentation may include a doctor's letter or other evidence of such an emergency.)
Grading Policy
Grades are computed as follows: Assignments (20%), Laboratory Participation and Performance (20%), Book Review (10%), Midterm Exams (25%), Final Exam (25%). The course is not graded on a curve. The nominal scale awards an A or A- for 90% and better, B+, B, or B- for 80% and better, etc. That scale may be adjusted to lower numerical cut-offs if warranted, but will not be raised.
Incompletes
Incompletes are only awarded
in very rare circumstances when an unforeseeable event causes a student who has
completed all coursework to date to be unable to complete a small portion of
the work remaining in the course. A
heavy courseload is not unforeseeable.
Typically, incompletes are given only because of personal health issues,
family emergency, or other severe but sudden occurrences. Any incomplete grade will require a written
agreement on the work to be completed.
Scholastic Conduct
Academic integrity is essential to a positive teaching and learning environment. All students enrolled in University courses are expected to complete coursework responsibilities with fairness and honesty. Failure to do so by seeking unfair advantage over others or misrepresenting someone else’s work as your own, can result in disciplinary action. The University Student Conduct Code defines scholastic dishonesty as follows:
Scholastic Dishonesty: submission of false records of academic achievement; cheating on assignments or examinations; plagiarizing; altering, forging, or misusing a University academic record; taking, acquiring, or using test materials without faculty permission; acting alone or in cooperation with another to falsify records or to obtain dishonestly grades, honors, awards, or professional endorsement.
Within this course, a student responsible for scholastic dishonesty can be assigned a penalty up to and including an "F" or "N" for the course. Cases will also be reported to the Office for Student Academic Integrity which may pursue more severe sanctions, including suspension and expulsion. If you have any questions regarding the expectations for a specific assignment or exam, ask.
Any work you complete for this course may be submitted to another course with the approval of the other instructor. Please understand that it still will be judged for this course exclusively on CSci 1001 criteria.
Class Decorum
This is a large class, and an interactive one. Accordingly, I must insist that all students observe basic classroom decorum. This includes silencing all electronic devices, refraining from talking (except as part of class participation), and listening respectfully to your peers. During class discussions, I hope there will be widely divergent opinions. There will not be right answers. While I welcome counter-arguments and rebuttals, please limit these discussions to the issues at hand and refrain from attacks on the motives or character of the individuals stating their opinions.
Special Circumstances
Students with special needs or circumstances should contact me as soon as possible to make any necessary arrangements. As with incompletes, extensions are only granted for unforeseeable events, but arrangements may be made to obtain assignment handouts in advance if needed. Other accommodations, including sign language interpreters, large-print exams and private exam rooms can be arranged in cooperation with disability services.
Course Schedule (subject to change)
|
Week |
Date |
Class Topic, Readings, Assignments
Due |
|
1 |
January 19 |
Course Introduction; How Computing Has
Changed |
|
1 |
January 21 |
Introduction to Algorithms Brookshear, Chapter 0, parts of
Chapter 5 (pgs TBD) |
|
2 |
January 24 |
The E-voting debate: setting up the issue Readings to be selected after 2004 elections |
|
2 |
Lab session |
Algorithms exercises Algorithms assignment #1 |
|
2 |
January 26 |
Abstraction and more Algorithms |
|
2 |
January 28 |
Coding Information: getting down to bits and bytes Brookshear, Chapter 1 |
|
3 |
January 31 |
The Internet and the Web: why did they succeed? How are they changing the world? |
|
3 |
Lab session |
Information coding
exercises: bits and bytes |
|
3 |
February 2 |
Computers doing Math Brookshear, Chapter 2 |
|
3 |
February 4 |
Computers doing Logic |
|
4 |
February 7 |
Math and Logic Errors: computer problems and their source Readings: scan or search through the
RISKS Digest http://catless.ncl.ac.uk/Risks to find at least three examples of math or
logic errors in computer systems. |
|
4 |
Lab session |
Logic exercises Coding, Math, and Logic Assignment |
|
4 |
February 9 |
The Von Neumann Machine |
|
4 |
February 11 |
Cryptography: An Overview Readings: http://www.pgpi.org/doc/pgpintro/ |
|
5 |
February 14 |
Cryptography and National Security |
|
5 |
Lab session |
Cryptography exercises Selection of book for review due. |
|
5 |
February 16 |
Complexity and Scale – How does my
problem grow? |
|
5 |
February 18 |
Moore's Law, Hardware, Storage,
Networking, and Scale |
|
6 |
February 21 |
E-voting revisited: Dealing with the size and scale of national
elections |
|
6 |
Lab session |
Fun with Dates and Times: UTC and Time Online Complexity and Cryptography
Assignment |
|
6 |
February 23 |
Programming and Computer Languages Brookshear, Chapter 6 |
|
6 |
February 25 |
Programming Paradigms |
|
7 |
February 28 |
Spreadsheets and Constraint Programming |
|
7 |
Lab session |
Simple Programming Exercises – Making
Change |
|
7 |
March 2 poss away |
MIDTERM EXAM #1 covers material through Feb. 23 |
|
7 |
March 4 poss away |
How much "programming" do
ordinary people need to know? |
|
8 |
March 7 |
Separating Content from Mark-up: HTML & Word Processing |
|
8 |
Lab session |
Exploring HTML Spreadsheet Programming Assignment
Due |
|
8 |
March 9 |
Databases and the Relational Model Brookshear, Chapter 9 |
|
8 |
March 11 |
Databases, Joins, and Pulling it all
Together |
|
SPRING
BREAK |
||
|
9 |
March 21 |
Privacy, consumer data mining, European
and US attitudes |
|
9 |
Lab session |
Database Exercises Book review due! |
|
9 |
March 23 |
Networking and Communications: Introduction Brookshear, Chapter 4 |
|
9 |
March 25 |
Protocols and Interfaces: The Elements of Modular Design |
|
10 |
March 28 |
Music, Movies, and Digital Intellectual
Property |
|
10 |
Lab session |
Layered Protocol Exercises Database Assignment Due |
|
10 |
March 30 |
Passwords and Beyond: Computer Security and Authentication |
|
10 |
April 1 |
Visualization and the Exploration of
Information |
|
11 |
April 4 away |
E-voting revisited: security issues, paper trails, and measures
of success |
|
11 |
Lab session |
Exploring Elementary Graphics and
Visualization |
|
11 |
April 6 away |
Computer Graphics: Models and Rendering |
|
11 |
April 8 away |
MIDTERM EXAM #2 |
|
12 |
April 11 |
Reserve date for topical discussion. |
|
12 |
Lab session |
Exploring tools for media editing Algorithms Assignment #2 |
|
12 |
April 13 |
Human Computer Interaction – Usability
and User Interface Design |
|
12 |
April 15 |
HCI and Beyond – Persuasion and
Personalization |
|
13 |
April 18 |
Design for Users? Let Users Adapt? Design to Change Users? |
|
13 |
Lab session |
Usability Evaluation Exercises |
|
13 |
April 20 |
Information Retrieval: Search and Indexing |
|
13 |
April 22 |
Software Engineering: Process, Requirements, Testing Brookshear, Chapter 7 |
|
14 |
April 25 |
Reserve date for topical discussion. |
|
14 |
Lab session |
Search engine explorations. Usability and IR Assignment |
|
14 |
April 27 |
Artificial Intelligence: The Turing Test, Natural Language, and
Early Successes Brookshear, Chapter 10 |
|
14 |
April 29 |
Artificial Intelligence: Search, Heuristics, and Machine Learning |
|
15 |
May 2 |
Who is responsible for the actions of
software? Of software agents? Who should be? |
|
15 |
Lab session |
Explore AI prototypes and search
techniques |
|
15 |
May 4 |
Mobile and Ubiquitous Computing |
|
15 |
May 6 |
Class Wrap-Up; What wasn't
covered …; Where to go next |
|
FINAL EXAM: DATE TO BE ANNOUNCED |
||
The views and opinions expressed in this page are strictly those of the page author.
The contents of this page have not been reviewed or approved by the University of Minnesota.