Syllabus | Links | Schedule | Grades |
Location and Time - Halsell 228, 9:30-10:20 MWF
Professor - Dr. Mark Lewis, Office: HAS 201K, Phone: 999-7022, e-mail: mlewis@trinity.edu. The best way to reach me typically is by e-mail. I check it frequently and try to respond promptly.
Office Hours - 4:30-6:00 M, 3:30pm-6:00pm W, 9:30-11:00 and 1:30pm-6:00pm R, or by appointment. I'm in my office a lot so you should free to drop by. If you are coming from lower campus you can always call or write a short e-mail to see if I'm in and available at that time. My afternoon office hours will be "open lab" times where I will be in the lab to help work you through questions on your assignments. The Monday and Wednesday open labs will be in HAS 228 and the Thursday open lab will start in HAS 200 then move to 228.
Text - "Alice in Action with Java" by Joel Adams.
Course Description - This course is intended to serve as an introduction to programming aimed at students who are not majoring in the sciences. (Though we won't complain if you change your mind.) The course focuses on the logic and problem decomposition skills that are critical for programming while letting you express creativity and not get bogged down in the details that often frustrate beginners.
This course satisfies the Using Scientific Methods segment of the Common Curriculum. Unlike in a standard lab course, the "experiments" in this class are virtual. The assignments will force you to design potential solutions and test your designs to see if they accomplish what you want. Likely you will have to rework your designs a number of times to correctly produce the results that you need.
As my previous students can attest, the courses that I teach are aggressive. I have one overriding objective in my courses and that is to make you think. If I make you think new thoughts for most of the semester I will have done well. If I give you new ways to think thoughts (old and new), then I will truly have succeeded. This course is not about busy work, though inevitably a fair bit of work will be required. Exactly how much work you have to put in will often be inversely proportional to how much you think about the work that you should be doing. Writing programs on the scale of most of the assignments for this course requires some design and thought to make sure that what you are trying to do will actually accomplish what you want it to and that it will do it correctly. Failure to think nearly always leads to more work for you in the end.
Projects - The projects in this course will be constitute the largest single fraction of the work that you do for the class. They are designed to force you to truly apply the skills that you learn in the class on a larger scale than the small sproblems that you will be solving for each individual class.
The work you submit for your projects should be of your own construction. You should feel free to confer with your fellow students or other people you might know about general questions dealing with the design of your programs or about specific syntactic problems. Having other people write code for you, or working from other people's code will be considered cheating and will carry repercussions as dictated by the student handbook. In general, the safest route when you have questions about projects is to come talk to me. It should be said that this should in no way preclude you from studying the concept of computer programming with your follow students. Only discussions specific to the projects are potentially risky.
Grades - The grade for this course will be composed of four components. These components and what they entail is discussed below. This table summarizes how each component contributes to your grade in the course. All items turned in for a grade in this course are to be pledged. For code, the pledge statement should be put in a comment at the top of the code.
Component |
Percentage |
Projects (2) |
40% |
Tests (2) |
30% |
Quizzes (6 drop 1) | 10% |
Interclass Problems |
10% |
Class Participation |
10% |
Projects - The nature of the projects was discussed in the previous section of the syllabus. There are two projects for the semester. One will be done in Alice and the other in Java. For each of the projects you will need to turn in three different things at different times. Each will contribute to your grade on the project. Descriptions of the possible options you have for doing your projects will be posted a week before the first deliverable is due. This first part of the project is simply a description of what you want to do. It will be written with possible visual/drawn elements to help you communicate what you are intending. This is worth 10% of the project grade. The next element you will turn in is due roughly two weeks after the idea and it is a design element where you describe in more detail what you will do and how you will do it. This is worth 20% of your grade for the project. The remaining 70% will be determined by the actual working project that you submit on the final deadline for the project.
Tests - There will be two tests during the course of the semester. The first is an in-class midterm exam and the second is the final. Each will count for 15% of your course grade. See the lectures page for the date of the first test. The final will be held during the normally scheduled time: Monday, 5/12 at 2:00pm. If you are going to miss a test I MUST be told in advance, even if it is a phone call 5 minutes before class. More advanced notice is preferable. If you have to take a makeup odds are good that it will be a bit harder than the original exam.
Quizzes - There will also be six quizzes given during the course of the semester. These quizzes serve many purposes in this class. First, it gives both you and I information about how well you are understanding the material in the class. Second, and more importantly, they will help you prepare for the test and the final. The quizzes will be short, 10 minutes, however, they will have questions that are similar in format to what you can expect to see on the tests (only fewer of them). They will be given promptly at the beginning of class to help insure that you arrive on time, and they will often cover material from the reading for that day to help provide you with incentive to actually do the readings. Note that these quizzes do not have a huge impact upon your grade. Because one of them is dropped, there will be no make-up quizzes.
Interclass Problems - Between each of the classes I will be giving you a question to answer. Most of these will be answered with small programs. The information you need to do them will come from the previous lecture and the readings. At the beginning of each class I will call on several people to show the rest of the class their solution to the question. Each person will be called on five times throughout the semester. Each time you are called on it will contribute up to two points to this part of your average. Students will get two points if it is clear they made a real effort to solve the problem (even if the answer is not correct). One point will be given for non-working attempts that do not show appropriate effort. These questions will be designed to have short answers that aren't extremely challenging, but they will test whether you have understood enough (or done enough of the reading) for the most recent topic. If you are going to miss a class you should sent your answer to the interclass problem to me before class time via e-mail so you get credit if you are called on.
Class Participation - I like you to participate in class. Discussion is typically far more entertaining than listening to me drone on for 50 minutes. It can also be more educational as the people most inclined to understand your confusion on certain points will be your peers. This part of the grade will actually come from two main sources. The first is attendance. You can't participate in class if you aren't there. The second is verbal participation during class during lecture. I do keep track of this over the course of the semester and it does matter. In addition to these, you can send me links to interesting things that you might happen to find on the web. If I think that they are significant enough, I will link them to the course web page. Each link you send me is worth participation points.