Computing and Information Technology Interactive Digital Educational Library


Syllabus Collection >
Syllabus >

Please use this identifier to cite or link to this item:

Title: An Overview of Computer Science
Issue Date: 
Abstract: 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�������������������������� 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��������������������������������������� 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 ( 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� 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 discussion 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 discussion 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 discussion Math and Logic Errors:� computer problems and their source Readings: scan or search through the RISKS Digest�� 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:� 5 February 14 discussion 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 discussion 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 extra lecture 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 discussion 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 discussion 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 discussion 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 discussion 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 discussion 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 discussion 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 discussion 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 discussion 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
Appears in Collections:Syllabus

Files in This Item:

File SizeFormat

All items in DSpace are protected by copyright, with all rights reserved.


Valid XHTML 1.0! DSpace Software Copyright © 2002-2006 MIT and Hewlett-Packard - Feedback