Computer Science 140
If you wish, you may download a printable version of the original syllabus. However, all of that information is also on this web page and the web page will be updated as the course proceeds, whereas the printed syllabus will not.
"A broad survey of the computer science discipline, focusing on the computer's role in representing, storing, manipulating, organizing and communicating information. Topics to include hardware, software, algorithms, operating systems, networks."
There are both official and unofficial prerequisites for this course. The official prerequisite is four years of high school mathematics or equivalent. The reason for this prerequisite is that our study of computer science will inherently involve a level of analytical and mathematical sophistication. This will arise in understanding how information is represented digitally and how computations proceed on such data.
The unofficial prerequisite is that, although we do not expect students to have any formal training in computing, we will expect that the great majority of students enter the class with at least some experience as a user of computers. Specifically, we will assume that students are comfortable with creating text files, sending and reading email, and using a web browser to explore content on the Internet. Students who do not have this experience are certainly welcome in the class however they should be aware that these skills are not taught in the class. The instructor can provide advice for gaining such experience.
Our goal for the course is to explore a broad view of the computer science discipline, emphasizing the connections between individual aspects. To truly understand the capabilities of computing systems, we must recognize how various forms of data are represented digitally, how the major hardware components store and operate on such data and how software is developed to control the systems. We will examine the role of operating systems and networks in coordinating the usage of shared resources and in communicating information. We will also consider the use of computers in the larger society, the ethical implications of these uses, and whether there are inherent limitations to the power of computers.
Cognizant of the great number of topics which are included in the course, our aim is not to offer complete coverage for every topic. Instead, we will choose one or two representative areas of exploration in each sub-discipline, demonstrating the issues and challenges at hand.
For students considering further computer science offerings, this course provides an accurate picture of what lies ahead, hopefully increasing interest in the discipline. The course is also valuable for students who wish to take a single computer science course providing a coherent vision of the entire field.
We should note that computer programming is not a primary focus
of this course. The university offers several introductory
computer programming courses
Please make sure to take advantage of office hours, as they offer a wonderful opportunity for individual attention.
The material will be presented in three weekly lectures. Though attendance in class is not explicitly required, it is certainly expected. Lectures are designed to be interactive and class participation is most welcome. These meetings will offer learning opportunities that cannot be recreated purely from readings. That said, for those who miss a lecture, copies of lecture notes can be found on the course schedule web page.
This book will be the primary reading for the course. Also, the publisher's website for the book has several pieces of software which we will use for assignments, so make sure to register yourself for access to that website (there should be an access code inside the cover of the text).
This book is a great source which provides a solid, intuitive understanding of computer science while at the same time avoiding the temptation to overly simplify. This book also contains a wealth of information which we will not have time to cover. For each chapter, we will likely cover only a selection of topics, leaving the rest for those who wish to do additional reading (or for those who continue in Computer Science).
With the exception of the first day's printed handouts, most of the information for this course will be distributed only by means of the course web page. This web site will contain all assignments, a schedule of lectures, detailed lecture notes and links to many other sources of information.
The web page contains some information (e.g. solutions, submitted assignments, individual grades) which is more sensitive and therefore which will be available to students in the class only after they have identified themselves properly. To gain access to these parts of the web page, a student must first complete the following online questionnaire, creating a unique identity and password.
All assignments for this course must be submitted electronically! The submission procedure will be done through the course web page, and allows students to submit from any computer connected to the Internet. Each student in this class will be selecting a unique username/password combination solely for use in identifying the student when using the course web page.
Details of the submission procedure are discussed on a separate web page.
Face-to-face contact in class and in office hours is most desirable. Yet email is a convenient form of communication as well. I try to respond to email promptly, including at least once each evening when possible.
We expect there to be a total of 12 assignments during the course, each of which involves some amount of work on a computer. At the end of the semester, we will throw away your lowest two of the twelve grades, with the remaining ten assignments contributing to this portion of the grade. The late policy is discussed below.
Each assignment will contain one or more practice problems which are not to be turned in and which can be discussed freely between classmates. The problems which are to be submitted for a grade, however, must be done entirely individually. A more complete explanation of our policy towards Academic Integrity is given below.
Most assignments will include a small extra credit challenge. Please notice, however, that the actual extra credit given for these challenges is relatively insignificant. Students who are seriously concerned about improving their overall grade would be best advise to focus all efforts on doing as well as possible on the required work and in preparing for exams.
Our true reason for including these opportunities is to provide some fun and encouragement for students who wish to dig a bit deeper than was required in an assignment. For those students, the chosen extra credit challenges provide a good next step.
Letter grades will be based on each students overall percentage of awarded points according to the following formula.
Students are expected to have read and abide by the University statement on Academic Integrity available on page 58 of the Saint Louis University's Undergraduate Catalog. The College of Arts & Science provides a more detailed policy statement which applies within the College and thus to this course.
In addition to those general statements, we wish to discuss our policy in the context of this course. When it comes to learning and understanding the general course material or the practice problems, you may certainly use other reference materials and you may have discussions with other students in this class or other people from outside of this class.
However, when it comes to work which is submitted for this course, you are not to use or to search for any direct or indirect assistance from unauthorized sources, including but not limited to:
Acceptable sources of information include consultations with the instructor, teaching assistants, or members of organized tutoring centers on campus, as well as any materials explicitly authorized in an assignment. Even in these cases, if you receive significant help you should make sure to document both the source of the help as well as the extent.
Any violations of these policies will be dealt with seriously. Penalties will apply as well to a student who is aiding another student. Any such violations will result in a minimum penalty of a zero on the given assignment which cannot be dropped, and severe or repeated violations will result in an immediate failing grade in the course. Furthermore all incidents will be reported in writing to the Department and/or the Dean, as per the College procedure.
All exams must be taken promptly at the required time. Requests for rescheduling an exam will only be considered if the request is made prior to the start of the exam, or else in an "emergency" situation with appropriate documentation.
For assignments, we wish to allow students to continue to work comfortably beyond the official deadline when a little more time will result in more progress, while at the same time discourage students from falling significantly behind pace and jeopardizing their success on future assignments. Our solution is the following exponentially decaying late formula (some have suggested that we should offer extra credit to anyone who fully understands this formula).
We will consider an assignment submission "complete"
when any part of the assignment is last submitted or
modified. Any assignment which is not complete promptly by
its due date and time will be assessed a penalty based on the
The above policies will be waived only in an "emergency" situation with appropriate documentation.
Any student who feels that he/she may need academic accommodations in order to meet the requirements of this course -- as outlined in the syllabus -- due to presence of a disability, should contact the Office of Diversity and Affirmative Action. Please telephone the office at 314-977-8885, or visit DuBourg Hall Room 36. Confidentiality will be observed in all inquiries.
There are many other books which try to an overview of computer science in the same spirit as the book we have chosen. We list a selection of such books for those interested.