Instructor Information
| Instructor: | Jon Sorenson |
|---|---|
| Office: | Fairbanks 158 (CSSE Department) |
| Phone/Voicemail: | 940-9765 |
| Home Phone: | 280-1168 (before 9pm please) |
| E-Mail Address: | jsorenso@butler.edu |
| Home Page URL: | http://euclid.butler.edu/~sorenson/ |
| Office Hours: | MWF 11-11:50, TR 1-2:30, or by appointment |
Course Goals
An algorithm is a sequence of steps which, when followed precisely, leads to the solution of a particular problem. Computer Science is the study of algorithms. This course is an introduction to computer science. We will study algorithms, their associate data structures, and their embodiment as programs using the Java programming language. We will also study a variety of computer science topics such as the storage and manipulation of data in computer hardware, operating systems and networks, software engineering, artificial intelligence, database systems, and more.
Prerequisite: CS151 or MA205, and CS142 or equivalent programming experience.
Towards a Liberal Education
A specific problem is solved when we find an answer. This course embodies the practice of applying logical reasoning to solve general problems by creating algorithms and supporting data structures. When we run an algorithm, it supplies an answer to a specific instance of the general problem that the algorithm solves.
The liberal arts are sometimes defined as intellectual skills and general knowledge. So, as a part of the College of Liberal Arts and Sciences, this course stresses logic, problem-solving, and the design and analysis of algorithms and data structures. These are intellectual skills that can apply to all disciplines, and indeed to all areas of life.
Course Materials
The required texts (pictured above to the right) are Data Structures & Problem Solving Using JAVA, 3rd edition, by Mark Allen Weiss, Addison-Wesley, 2005, and Computer Science an Overview, 9th edition, by J. Glenn Brookshear, Addison-Wesley, 2006.
We plan to use the SUN JDK Java compiler, which is available on the Unix server thomas.butler.edu. Everyone in the class should have an account on thomas and we will access thomas using X-Windows software from PCs. If you have access to another Java compiler, you are welcome to use it.
Warning: If you do not use thomas for writing your programs, be sure to keep at least 2 copies of all your programs to guard against accidents!
All handouts for this course will be made available through the world-wide-web (WWW) home page for this course. The URL is http://euclid.butler.edu/opl. We will discuss how to access this during the first day of class. If at any time you need a handout from the web, but are unable to print it, just ask me and I will print one for you. (Note that there is a "printer friendly" button at the bottom left.)
Grades
Your grade will be based on quizes, programming projects, and exams as follows:
| Quizes (5) | 100 points | (20 points each) |
| Programming Projects (8) | 400 points | (25-75 points each) |
| Exams (3) | 300 points | (100 points each) |
| Total: | 800 points |
There is an opportunity to earn extra credit points on many of the programming projects.
Quizes will be based directly on non-graded homework problems. We will have at least 7 quizes, but only the 5 highest quiz grades count (you get to drop at least 2). Quizes are always on Fridays, and there are no makeups.
Penalties: If you e-mail your projects instead of giving me a hard copy, I will deduct 2 points.
Letter grades are assigned according to the following scale:
| 93% | 90% | 87% | 83% | 80% | 77% | 73% | 70% | 67% | 63% | 60% |
| A | A- | B+ | B | B- | C+ | C | C- | D+ | D | D- |
If the class average is low (say, below 70%), then I may curve slightly in your favor.
For a description of the grading criteria for programming assignments, see the Program Grading Criteria page, which is also accessible from the course home page.
Exams
You may bring one page of notes to each exam. You may write on both sides, and it may be typed. My only requirement is that you do not create your page by photocopying or the equivalent. The idea is that you must write the material on the page yourself. You are permitted to study with others, and you may design a page as a group if you wish. I reserve the right to examine your pages and, if necessary, confiscate them during the exam; if you like, I will be happy to approve your page beforehand.
Exams are held during a regular class period (or, for the final, during the regularly scheduled final exam time). However, I will not impose a time limit. When the class period is over, if you want more time to finish your exam, then you may have it. I may have to move you to a different room.
We will hold an in-class review session during the class meeting immediately before each exam.
Late Days
Each weekday that an assignment is late, you are charged one late day. Weekends, breaks, and holidays do not count as late days. You begin the semester with 20 free late days to use (or not use) as you wish. Once you go over this limit, each additional late day costs you 5 points.
Late days are designed to handle normal problems, such as having an exam or major project due in another course, or missing a day or two with a cold, or going to your cousin's wedding. If you have unusual circumstances please talk to me about it as soon as possible.
Partners
You may work in pairs on the programming projects. You must work alone on the exams and quizes.
Help
If you have questions or are confused, please feel free to come see me. I do not expect you to learn all the material the first time you see it; if you could do that, you wouldn't need me! You are welcome to visit me in my office anytime my door is open (which is most of the time). If you do not come during office hours, and I have work I need to do, I may ask you to come back later if you can. Don't take this personally. I enjoy teaching, and I like helping students, so don't think you are imposing on me by asking for help. This is my job.
Students with Disabilities
It is the policy and practice of Butler University to make reasonable accommodations for students with properly documented disabilities. Written notification from Student Disability Services is required. If you are eligible to receive an accommodation and would like to request it for this course, please discuss it with me and allow one week advance notice. Otherwise, it is not guaranteed that the accommodation can be received on a timely basis. Students who have questions about Student Disability Services or who have, or think they may have, a disability (psychiatric, attentional, learning, vision, hearing, physical, medical, etc.) are invited to contact Student Disability Services for a confidential discussion in Jordan Hall 136 or by phone at extension 9308.
I will be happy to comply with your needs as best as I am able.