CS 0007 - Introduction to Computer Programming

Fall 2008

 

 

Class

Recitations

Time:

11:00-12:15 

 

Wed 11am Sennott Sq 5502 Friday 10am Sennott Sq 5505 

Days:

TH

Room:

 Sennott Square 5502

Webpage:

http://www.cs.pitt.edu/~mosse/courses/cs0007.html

 

Note:  You must sign up for the recitation.

 

Contact Information


Daniel Mosse
Asim Jamshed
Office: 6324 Sennot Square 5324 Sennott Square
Phone: (412) 624-8923 (412) 624-8455
Email: mosse@cs.pitt.edu ajamshed@cs.pitt.edu

Office Hours:

TH 10:00-11:00, 2:00-3:00 M 3:30-4:30; T 12:30-1:30, W 3:30-4:30, H 12:30-1:30, F 11-12:45

 

Description

 

This class is meant as a first class in computer programming.  Anyone is welcome to take it, anyone can succeed as a computer programmer, which can be useful in a variety of fields.  It is also good as an introduction to computer science for those students who (might) wish to pursue the field further, but lack prior exposure to the material.  We will use Alice, which allows students to visualize their programs and create animated movies, joining fun and programming.

 

Prerequisites

 

There are no prerequisites. Passing familiarity with the operation of a computer and some math (geometry, algebra) is helpful.

 

(If you are already proficient - had 1 or 2 courses prior - in computer programming this is not the course for you.)


Course Purposes and Goals

 

Introduction to Computer Programming is meant as a course to expose interested students how computer software is written and tested.  It seeks to illuminate the creative process that is computer programming from the ground up, with an emphasis on logic, algorithm development, and animations.

 

In this course we will be writing procedural programs with Alice.  Not only will you learn what that means, but you will also, at the end of the term:

 

 

Textbook

 

The text is:

 

            Starting Out wth Alice, A visual Introduction to Programming, by Tony Gaddis, Pearson Addison-Wesley
            ISBN-13: 978-0-321-47515-2
            ISBN-10:        0-321-47515-2

 

 

Class Policies

 

Exams: There will be a midterm and a final, based on the computer programs we develop during the course.  The scheduled final exam is on December 12, 4:00 p.m. - 5:50 p.m.

 

Labs and Quizzes: Attending recitation is a very important part of this course.  In recitation you will be able to work in a structured setting while completing small tasks (Labs). Concepts from class will be expanded upon and tested with unannounced quizzes.

 

Projects: There will be six out-of-class assignments (small computer programs).  These are to be completed in the given time (10% per day penalty for late work).  Unless otherwise noted, these are meant to be your own work; anyone found to be collaborating will be given a zero for the assignment.  Collaborating also means using code from previous terms, other universities, your friends, or finding it on the internet.

 

Participation:  Attendance will not be taken.  But class is fun, and so is the material, so it'd be your loss.  Also, class attendance is officially mandatory. Homeworks, assignments, and important dates will be posted on the class web page, but this is provided as a courtesy and is not always complete. [ominous warning] It is your fault if you miss something important because you skipped class.

Recitation attendance is also required. You will miss important material on the programming assignments if you do not attend.

Office hours are optional. They are your chance to ask the professor and the TAs questions about the material being covered, the programming assignments, etc.



Cheating will not be tolerated.  Anyone caught cheating will be given a zero for the portion of the course and reported to the department following University procedures.  See more at the bottom.


Grading

 

Your grade will be based upon 2 exams, 6 projects, weekly labs and quizzes (the lowest one of which will be dropped), and participation:

 

2 Exams

40% (20% each)

6 Projects

42% (7% each)

Labs + Quizzes

18%

Participation (bonus)

5%

Total

105%



Mailing List Announcement

A class mailing list will be compiled, and will be used for important announcements. It is VERY important that you be included in this list. It is therefore your responsibility to e-mail the TA and request to be included on the CS0007 class mailing list.


Getting Answers to your Questions

  • Attend class
  • Check the class web page frequently - we will post as much information as we can
  • Meet with the professor and TA during office hours
  • Email the professor and TA

  • Disability Resources and Services:

     

    If you have a disability for which you are requesting an accommodation, you are encouraged to contact both your instructor and Disability Resources and Services, 216 William Pitt Union, (412) 648-7890 or (412) 383-7335 (TTY), as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.


    Term Schedule:
    The daily topics are subject to change depending on our pace.  Here is a list that will be continuously updated, to assist you in the readings so you can focus on those concepts prior to class.   Here is a list of slides, mostly done by George Novacky and modified accordingly.

     


    Academic Honesty: Collaboration vs. Cheating

    This really should not be an issue, but to make things as clear as possible the following is necessary.

    You are encouraged to discuss the course material and concepts with other students in the class. However, all work that you submit must be your own. Under no circumstances may you look at anyone else's code or show anyone else your code. And while you may discuss the concepts used in the programming assignments, you may not discuss implementation details of the assignments themselves.

    If you are caught copying or otherwise turning in work that is not solely your own, you will fail the course.

    The bottom line is that you are expected to conduct yourself as a person of integrity - you are expected to adhere to the highest standards of academic integrity. This means that plagiarism1 in any form is completely unacceptable. As a (soon to be) computing professional, I encourage you to consult the code of ethics appropriate to your discipline2.

    Plagiarism will be assumed until disproved on work that is essentially the same as that of other students. This includes identically incorrect, off-the-wall, and highly unusual duplicate answers where the probability of a sheer coincidence is extremely unlikely. All parties to this unacceptable collaboration will receive the same treatment.

    You should bring a picture identification with you to all examinations and be prepared to show it upon request.

    If you are unsure of what is and is not allowed by this policy, talk to the instructor.

    1 pla-gia-rize vt. to steal and pass of as one's own (the ideas or words of another) to present as one's own an idea or product derived from an existing source - pla-gia-riz-er n. (source: Webster's New World Dictionary).
    2 The Association for Computing Machinery is http://www.acm.org/, the IEEE is http://www.ieee.org/ and the IEEE Computer Society is http://www.computer.org/.