Indiana University 
Computer Science Department

A112 -- Programming Concepts

Fall 1998 -- Second eight weeks

[ General information | Relation to other courses | Required materials | Syllabus | Tips | Grading | Administrivia | Course evaluation ]
All material is subject to change.  Changes will be reflected here on web as soon as possible.
 

Notes

General information

Instructor
Christopher Haynes (Chris), phone 855-3376, office LH230F, email chaynes@indiana.edu
Associate Instructor
David Child, phone 855-4598, office LH401E, email dchild@indiana.edu
Credit Hours
1.5
Lecture
Section 1281 meets Monday and Wednesday from 4:00P to 4:50P in LH102
Laboratory
Section 1282 meets Tuesday and Thursday from 9:30A to 10:45A in SE045
Section 1283 meets Tuesday and Thursday from 11:15A to 12:30P in HP154
Section 1284 meets Tuesday and Thursday from 4:00P to 5:15P in LH025
Switching labs: If you need to make up a lab, or you need extra laboratory time, you may attend a laboratory session other than the one you registered for. However, students who have registered for a laboratory get priority if there are not enough computers for everyone.
Office Hours
Chris: M 2:25P-3:55P, F 9:00A-10:00A, and F 11:30A-12:00P in LH230F
David: TR 3:00P-4:00P in LH230F
Class Web Site
www.cs.indiana.edu/classes/a112
Catalog Description
P: A110, A111, or equivalent computing experience. Introduction to programming for users of computer systems. Emphasis on problem solving techniques. Lecture and laboratory. 8-week course.

Relation to other courses

This course is a simple introduction to programming at roughly the level of the old A107 course. Students are assumed to have some experience with computers, equivalent to that of A110, A111, any comparable computer literacy course, or equivalent extra-curricular experience.   The course A201 offers a somewhat more challenging introduction programming and is part of the minor in information technology, but but is still not as challenging as C211. The latter course serves as an introduction to a computer science major or minor. Though A201 does not assume prior programming experience, A112 provides a gentle introduction to A201. Ask the instructor if you are in doubt about whether you belong in this course.
 

Materials and Resources

Syllabus

 
Date 
(approx.)
Read  Topic and any related links
10/26  Module 1  Command sequencing, with Shakey the robot
10/28 Module 2 Functions, with advanced Shakey the robot
11/2 Module 3 Variables and input/output, with Miracle! 
See the first paragraph of the Tips section below. 
Shakey quiz (old Shakey quiz with answers)
11/9 Module 4 Conditionals, Two Questions Game
11/16 Module 5 Loops
11/23 Module 6 Functions, Thanksgiving break
11/30  Module 7  Arrays
12/7   Review, problem solving, extra problems with some solutions and xmastree solution

Laboratory assignments will appear here:
Due date Assignment
11/2 Assignment 1: Module 1 Exercise 6 and Module 2 Exercises 3 and 4
11/9 Assignment 2.
11/16 Assignment 3.
11/24 Assignment 4.
12/9 Assignment 5.

Selected solutions will appear here:
Quiz 2
 

Tips

Consult the Miracle Summary for an overview of its features.

The Miracle! environment works under Netscape Communicator 4.01, but not under version 4.04 currently installed on UITS public machines. Fortunately these machines also have installed an older browser that does work: use Start->Programs->Communications->Netscape Navigator 3.01.

The on-line text materials require a frame-capable browser.  The Miracle program development environment requires a JavaScript enabled-browser, and Shakey requires a browser that is also Java-enabled.  The university Netscape Navigator 3 and 4 installations should work on Mac and Windows systems.  At home you may have to enable JavaScript and Java in your browser.

It is not possible to edit Shakey programs.  If you make a mistake, start over (not unreasonable for the short programs we do).  To save a Shakey program, highlight the program text, copy it to the system clip board, paste it into a text editor window, and print it using the text editor after adding identification and any required crediting information at the top. If after loading the module 1 version of Shakey you want to run the module 2 version, you have to exit the browser and start it again.

Laboratory assignments will be posted in the syllabus section above. If you are able to do the assignments on your own, you do not need to attend laboratory sessions.  However, if you do not attend laboratory sessions, do not expect extensive help from your instructor or AI at other times.  Also, we start slowly because some students have much more difficulty than others with the initial concepts, but the material becomes more challenging as the course proceeds.  If you find the first few weeks easy, do not assume you can neglect this course in the belief that it will all be easy!

You may obtain help from others on laboratory assignments (if you give credit, as noted below). In fact, you are strongly encouraged to do so.  However, do not become overly dependent on such help: make your best effort to learn programming skills.  Help will not be available on quizzes or exams.

Please do not hesitate to come to our office hours for help.  Bring as much information as you can pertaining to your difficulty.  If you have been working on a program that does not work, bring a printed copy of the program if at all possible and also a copy on a diskette.f

Develop programs in stages. Start with a program that only does a small part of the assignment, but works. Add more functionality a little at a time and check that the program still works at each stage.

Grading

The following is a tentative guide for evaluation, with approximate percentage contributions to the final grade. The final and quizzes are open-book and open-notes, but no help from friends.  You may obtain help from others on your laboratory exercises, but you must credit with a comment at the beginning of your submission anyone who has helped you, and independently submit your work.  Crediting comments should briefly indicate the nature and extent of the help received.

Assignments may be turned in during laboratory sessions or they may be deposited in the assignment drop box below the faculty mailboxes on the east side of the north end of the second floor hall of Lindley Hall.  Be sure your name, laboratory section number, AI name, and course number are clearly displayed at the top of your submission.

There is a penalty of 10% per business day for late project or laboratory assignment submission.   Submissions are not accepted after 5pm on the third business day after the due date.

The most important factor in grading programs in assignments and exams will be correctness (whether the program works as specified), but style is also a factor.  Good programming style makes programs easy to understand.  This includes logical organization, appropriate use of comments (especially when the code is not very self-explanatory), and good indentation.  Some credit will be taken off on quizes and exams for improper syntax: bring your notes to class to remind you of correct syntax.  Little credit will be given for assignments with syntax errors, since you have the assistance of the system in generating correct syntax and locating incorrect syntax.

Administrivia

Course Evaluation

Before the end of the course, you are strongly encouraged to complete the electronic course evaluation form for A112. You will need a password which is emailed to you at username@indiana.edu. Email cseval@cs.indiana.edu  if you have not received this email or need other assistance with the course evaluation system.

Chris Haynes / chaynes@indiana.edu