Who We Are
Instructor
Jason Taylor
tlaloc75@gmail.comOffice Hours: Catch me after class or send me an email if you have questions.
Teaching Assistants and Consultants
Rance Harmon
EPS 351
rharmon@cs.montana.edu
Office hours: 1-3 on Mondays, and by prior appointment set up by e-mail.Class scores will be posted at http://www.cs.montana.edu/~rharmon/CS221/lab.html
Where We Are
Lecture Location and Time
EPS 103, MWF 9:00 - 9:50
Lab Locations and Times
Section 221-04, Roberts Hall 111, T 10:00-11:50
Section 221-05, Roberts Hall 111, T 1:10-3:00
Course Rules
We don't have a lot of rules, but there are some.
- you must visit the class website regularly. This is where all of the information about the class will be maintained.
- in particular, you must read the class announcements page regularly, preferably daily. This is where important messages of interest to the entire class will be posted.
- You must read your e-mail regularly, preferably daily (which you probably do in any case). This is how we will reach you with a personal message when necessary. Therefore you should forward your university and cs e-mail accounts to your preferred e-mail account.
- lab attendance is mandatory. There will be quizzes, and your programming assignments will generally be graded in the lab.
- You must do your own assignments. You may talk about the solutions with others in the class. You may use the web and any other resource that helps you arrive at a solution. But you must turn in your own assignment done by your own hand, even if you did work towards a solution with someone else (i.e., your solution should not be identical to some other person's solution). Again, it must be stressed that the primary goal of the course is that you learn. If you depend on someone else's work and don't understand it yourself, you will be lost, and we don't want that to happen. If you find yourself in the position of not understanding, please ask the TA's for help (with programs) and your instructor (with general questions about knowledge being presented in lectures).
Grading
What You Must Do
Learn. If you really learn a subject, and I do my job in writing quizzes that test your learning (as, say, opposed to your ability to memorize definitions) you will do fine. You are in control of your own education. We are here to help facilitate your learning and to help you understand better how to learn.
- Attendance at lectures will not be noted.
- Attendance at lab is required for various reasons.
If, for example, you would like to ski the cold smoke of Bridger Bowl after a night of great precipitation, go ahead if you can manage it and your education simultaneously. The only thing you cannot expect is to ask your TA or your instructor to fill you in on the things you missed (this is meant in a positive way). On the other hand, if you miss a class as a result of a family emergency or illness, we are here to help you get back on track.
Components of the Grade
We will use the following weighting to determine your final grade.
- 40% exams
- 50% assignments (programs, labs, and other exercises)
- 10% professional points
To pass the course you will need to average at least 50% on the exams.
The mid-term exam will be on March 11th during our normal class time and is worth 15% of your total grade. The final exam is scheduled for May 7th from 6:00-7:50pm in EPS 103 and is worth 25% of your total grade. Together, these exams are worth 40% of your grade as described above.
The Book and Other Learning Resources
Our course textbook is
- Objects, Abstraction, Data Structures, and Design using Java, version 5.0
- by Elliot B. Koffman and Paul A. T. Wolfgang,.
- ISBN 978-0-471-69264-5
The textbook is required for the course. Reading should be done ahead of time whenever possible. It prepares your mind for what comes in the class sessions. Readings can be found under the Assignments link.
We will also occasionally post links on our website's Resources page that will prove helpful to learning.
We will be covering the following chapters in the course textbook:
1: Introduction to Software Design
2: Program Correctness and Efficiency
3: Inheritance and Class Hierarchies
4: Lists and the Collection Interface
5: Stacks
6: Queues
7: Recursion
10. Sorting
Appendix B. Overview of UML
Appendix C. Event Oriented Programming
The material in chapters 9, 11, and 12 will be first encountered in CS 223. There may be some outside reading as well in order to cover a topic or two (e.g., threads and concurrency) not found in the textbook.
We will not cover these chapters in order. In particular chapters 1, 2, 3, and to some extent, 7, are topics that should be covered as needed rather than in the order shown.