This Course Is an Introduction to Algorithms, Their Design, and Their Representation In s1

Total Page:16

File Type:pdf, Size:1020Kb

This Course Is an Introduction to Algorithms, Their Design, and Their Representation In s1

COMP 110-1 GENERAL INFORMATION 110-1.1 Fall, 2009

This course is an introduction to algorithms, their design, and their representation in a computer programming language. Proper mastery of the course content requires the timely completion of several computer programming assignments.

This course will teach you several programming languages (including JavaScript and Java), but it is a course in programming, rather than a course in a particular language. If you have already learned to program, using a different programming language, you probably should not take this course. For further advice, consult the instructor, or the department's Director of Undergraduate (or Graduate) Studies.

All the software that we will use in this course is either already on your computer (e.g. a web browser) or is available free for download to your computer. We will show you in class how to do the downloading. The software is also installed on all public computer lab machines located in various academic buildings and in the residence halls.

No student may audit this course. A faculty or staff member wishing to audit must consult with the instructor.

Criteria for Programs

1. Correctness. Programs will be expected to be 100% correct. Computer programming courses may be the only ones in the University with this requirement.

2. Clarity. Programs must be readable by humans. This requires that they be based on clear thought and be well-presented. A good presentation requires well-written code, careful formatting and good comments.

WARNING: This is a very time-consuming course. Be prepared to spend an average of 10-12 hours each week outside of class.

Course Instructor: Stephen F. Weiss [email protected] 159 Sitterson Hall, 962-1888

Office Hours: TBA. I’m around most of the time; feel free to call.

Teaching Assistants: ?Glen Elliott, Sitterson 024, 919-962-1825, [email protected] ?Erik LaForce, Sitterson 022, 919-843-7408, [email protected]

PLEASE DO NOT CALL THE INSTRUCTOR or TAs AT HOME!

Meetings: Class will meet Monday, Wednesday and Friday, 11:00-12:15 in Sitterson 014. The Friday class will be divided into two smaller recitation sections, one meeting in SN 014 and the other meeting in ????.

Texts: Fluency with Information Technology, Lawrence Snyder, 3rd Edition, Addison Wesley, 2008. Addison-Wesley’s JAVS Backpack Reference Guide, Peter J. DePasquale, Pearson Addison-Wesley, 2005. This book is bundled free with the course text.

110-1.2

Software: We’ll use a browser (I like Mozilla Firefox, but Internet Explorer is ok too). We’ll also use a simple editor (like Notepad), an AFS client, and jGRASP. All are available free for download. Instructions are on the course web page, or we’ll do the download in class. The required software is also available in all public labs. See http://help.unc.edu/labs for lab locations and schedules. In order to use the public machines you will need an Onyen and password. If you don’t already have one, go to https://onyen.unc.edu/cgi-bin/unc_id/services.

Supplies You should have some means of backing up your programs (e.g. floppy disk, flash drive, ZIP drive). Back up often!

Web page The course web pages begin at www.cs.unc.edu/~weiss/COMP110. Some course material will be distributed only on the web.

Exams: There will probably be two in-class exams, a final exam (Monday, December 14th, at noon), plus possibly some quizzes. All exams will be closed book, closed notes, closed computers, and closed cell phones.

Grading: Approximately 65% of your grade will be based on programming assignments; approximately 25% will be based on exams.

Your programs will be graded for both correctness and style. You will turn in an electronic copy of your program (through Blackboard, via email, or by posting on your web site) and a paper printout of your program. Correctness will be determined by actually running the program. The style grade is determined from the printout. More information about style requirements will be given later. Each program will be graded on a 100 point, negative scale. That is, you start with 100 points and we deduct points for errors of various kinds. While the grading sheet contains more than 200 possible point deductions, you cannot get less than zero. Programs assigned later in the semester will be weighted more heavily than early programs.

Some students get off to a rocky start in programming, but then catch on. Their first few programs get low grades, but later ones are much better. Since course material builds throughout the semester, how you’re doing at the end of the semester is a lot more important than how you did at the beginning.

Programs: There will be approximately seven graded programming assignments. Each program will have a specific date/time deadline; late programs will be penalized as follows:

1 day late (up to 24 hours after due date and time): 10% deduction one class late (up to the start of the next class after the due date/time): 25% two classes late: 50% more than two classes late: 100%

It is always better to turn in something, even if it is very late, than to turn in nothing. However, it is far better to work on the current program than to work on a past due program. More on the grading policy later. 110-1.3

Honor Code I am very serious about the honor code. It’s very easy to cheat in this course; it’s also very easy for us to detect plagiarism. So don’t do it! In addition to the University Honor Code, please also observe the Department Addendum (110-2). You are encouraged to work together for better understanding of the course material and assignments. But do the actual coding by yourself. Too much reliance on others can be disastrous at exam time. Also, you are free to use any code that was presented in class, in recitation or other help sessions, or in the course texts without permission or citation. You may use code that you found on the web or material from previous offerings of this course.

Etc: Incompletes will be given only in dire emergencies such as illness or a family emergency. Documentation (such as a physician's note) will generally be required. Falling behind in your work is not an emergency.

Recommended publications