Indiana University 
Computer Science Department

A112 -- Programming Concepts

Spring 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
Abhishek Gangwal, email agangwal@cs.indiana.edu
Sylvia Liu (Sylvia), email tiliu@indiana.edu
Credit Hours
1.5
Lecture
Section 1075 meets Monday and Wednesday from 3:35P to 4:25P in LH102
Laboratory
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
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
3/9  Module 1  Command sequencing, with Shakey the robot
3/11 Module 2 Functions, with advanced Shakey the robot
3/16 Module 3 Variables and input/output, with Miracle! 
See the first paragraph of the Tips section below. 
Shakey quiz (answers)
3/23 Module 4 Conditionals, Two Questions Game
4/6 Module 5 Loops, Conditionals quiz, answers
4/13 Module 6 Functions
4/20  Module 7  Arrays, Miracle Summary
4/27   Review, problem solving
Laboratory assignments will appear here:
Due date Assignment
3/25 Assignment 1: Module 1 Exercise 6 and Module 2 Exercises 3 and 4
3/30 Assignment 2.
4/6 Assignment 3
4/13 Assignment 4
4/22 Assignment 5
4/29 Assignment 6: Module 7, Exercises 1, 2 (extra credit), and 3.
5/8 Assignment 7: submit a course evaluation for full credit in this assignment.
 

Tips

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, past it into a text editor window, and print it using the text editor after adding identification and any required crediting information at the top.

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 because 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..

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