Instructor Information

Laurie Patterson
2040 CIS Building
Department of Computer Science
University of North Carolina Wilmington

910.962.3906 (voice)
910.962.7457 (fax)

pattersonL @ uncw.edu
Office Hours:
Monday: 0100-0230;
Wednesday: 0100-0230
and by appointment

Blackboard/WebCT
select UNC Wilmington
use email username (without @uncw.edu)
and SeaNet user PIN (six digits)

Text, Supplies, and References

There is NO required textRequired materials:
One flash/USB drive (minimum 1 GB)

Class Meeting Time:
0900 am - 0950 MWF BR165

Course Description

Introduction to Computer Programming (3) Prerequisite: MAT 111 or 115. An introduction to programming in a high-level language for students who are not computer science majors. Algorithms, computer systems, data representation, survey of computer applications, elementary programming techniques, debugging and verification of programs. The language to be used is ALICE. May be repeated once for credit under a different subtitle.

Objectives

By the end of this course, students should have a good understanding of:

  1. analyze a problem for implementation on a computer
  2. design software using object-oriented design methods
  3. describe the control structures used in designing computer programs
  4. design algorithms using the three basic control structures
  5. explain concepts associated with object-oriented design
  6. implement an algorithm using an object-oriented high-level programming language

Grading

Grades will be determined as follows:

  • Projects: 33%
  • In-class Labs 33%
  • Tests 34%

A plus/minus system will be used to assign final grades using the following scale:

  B+ 87-89 C+ 77-79 D+ 67-69  
A 93-100 B 83-86 C 73-76 D 63-66 F <60
A- 90-92 B- 80-82 C- 70-72 D- 60-62  

Incomplete grades are given rarely and only in very specific situations.

  1. First, the student must be passing.
  2. Next, the student must be able to complete the work of the course entirely on his or her own.
  3. Finally, the student must be prevented from completing the course by verified, unforeseen circumstances beyond the control of the student.

These conditions must be documented and verified by both instructors before an incomplete grade may be given.

Class Format

In Class Labs:
On most days in class, there will be a lecture followed by a hands-on lab. These labs are meant to be done in class and will give you the opportunity to try out the new concepts or skills just presented. You will receive full credit for being in class and completing the work. If you are unable to complete a lab in class, it will be accepted at the beginning of the next class. Any submissions of labs after the beginning of the next class are considered late. Your lab score will count 33% of your final grade.

Homework:
There will also be 3 projects assigned to be done as homework. This average will count 33% of your final grade. Each project will have 2 due dates, one for the storyboard which will count 30% of the project grade and the other for the working program which will count 70% of the project grade. Late submissions will receive at most 80% of the possible score for that part (storyboard or program.)

Guidelines for Alice Assignments:
  • each Alice world submission must be accompanied by a storyboard
  • storyboards must precede coding in order to obtain instructor's assistance

Tests:
There will be two midterm tests during the semester and a final exam which together will comprise 34% of your grade. The dates of the tests can be found below but are subject to change. The date of the final exam is Thursday, May 3, 3:00 pm. Please make every effort to attend class on the test dates. Make-up tests can only be given in extreme situations beyond the student's control and with verifiable documentation. The final exam date is determined by the University calendar and cannot be changed.

Special Needs

If you have a disability and need reasonable accommodation in this course, you should inform the instructor of this fact in writing within the first week of class or as soon as possible. If you have not already done so, you must register the Office of Disability Services in Westside Hall (ext. 2-3746) and obtain a copy of your Accommodation Letter. You should then arrange a meeting to make mutually agreeable arrangements based on the recommendations of the Accommodation Letter.

Tips for Success

Seek help when you need it and as soon as you need it. Feel free to contact either instructor via e-mail or in office hours. We can probably help you most quickly via e-mail, but you are welcome to stop by during office hours or set up an appointment for another time. Working with other students is permitted as long as you remain within the boundaries of the UNCW Academic Honor Code which applies to all work for this course. Please refer to the Student Handbook for details: http://www.uncw.edu/policies/04-100-academichonorcode.htm. The University’s policy on the responsible use of electronic resources also applies to all work for this course. See http://www.uncw.edu/sp/admproc/its100provisions.htm.

Students are responsible for submitting their own work. Students who cooperate on oral or written examinations or work without authorization share the responsibility for violation of academic principles, and the students are subject to disciplinary action even when one of them is not enrolled in the course where the violation occurred.

Student Resources

  • UNCW Labs
    CIS is open evenings
  • WebCT /Blackboard
  • THE INSTRUCTOR!!!

Tentative Schedule

Week

Day

Lecture

Lab/Assignment

   
1 01/06/10
Day 01
Introduction to Course and Instructor
Course expectations
  01/08/10
Day02
What is Alice

 

   
2 01/11/10
Day03
Alice Concepts
Objects in Alice
What is interactivity
Chapter 1 lab sheet (HTML Version)
  01/13/10
Day04
 
  • Students start Alice
  • Download FirstWorld
  • Working with Movie Demo
  01/15/10
Day05
Lab Day Lab01
DUE 01/15/10
   
3 01/18/10 MLK State Holiday No Classes
  01/20/10
Day06
Animation programs: Scenarios & Storyboards
FirstEncounter
Creating your own storyboard

Initial Scene

Lab02
DUE 01/25/10

  01/22/10
Day07

Creating an animation program

Work on subparts

Code generation

Lab04
DUE 01/29/10

   
4 01/25/10
Day08

Programming: Putting together the pieces
Built-in functions and expressions
Instructions
Control structures
Functions
Expressions


MODIFIED!!! Programming Assignment 1 is assigned
  01/27/10
Day09

Programming: Simple control structures
Conditional execution

  • If/else
  • Nested Ifs
  • Relational operators
 
  01/29/10
Day10
OUT-OF-CLASS Lab Day
Professor is out.

Complete storyboard for Project 1 to hand in next class.

QUIZ #1
on Blackboard

OpenBook/OpenNotes
DUE 02/01/10

   
5 02/01/10
Day11
Classes, objects, & world-level methods

Creating your own methods

Assignment 1 storyboard due

Lab05
DUE 02/05/10

Prepare for Test 1

Project 1
Storyboard due
  02/03/10
Day12
Exam #1  
  02/05/10
Day13
Practicum #1  
   
6 02/08/10
Day14
Variables, Functions, Comments, and Strings

Decision Structures

Classes used in lecture:

Assignment 1 due next class
  02/10/10
Day15

Decision Structures

Creating your own, more powerful classes

Inheritance

Classes used in lecture:

Assignment 1 due

Lab06

  02/12/10
Day16

Sample Worlds used in Lecture:

Lab07
   
7 02/15/10
Day17
   
  02/17/10
Day18

Interactive programming
Events and event handlers
Lecture notes: Click here.

Sample Worlds used in Lecture:

Lab08

  02/19/10
Day19
   
   
8 02/22/10
Day20

Parameters & event handler methods
More on interactivity
Passing parameters to event-handlers

Programming Assignment 2 is assigned  

  02/24/10
Day21
Lab time...for working on Assignment #2 (including storyboard and if approved, the project itself)
 
  02/26/10
Day22
Custom Strings...how to save information collected from your viewer for later use. Assignment 2 storyboard due
   
9 03/01/10
Day23
Lab Day for working on Project 2 Assignment 2 due next class!
  03/03/10
Day24

Lab Day for working on Project 2

Assignment 2 due

 

  03/05/10
Day25
Quiz 2 (Extra Credit goes live and is available through Spring Break -- deadline on Sunday March 14 at 5:00 p.m.) Student presentations for both assignment 1 and assignment 2
   
  03/08/10 SPRING BREAK No Classes
  03/10/10 SPRING BREAK No Classes
  03/12/10 SPRING BREAK No Classes
   
10 03/15/10
Day26

Random numbers and random motion

Worlds used in Lecture:

Prepare for Test 2.

  03/17/10
Day27
Exam #2  
  03/19/10
Day28
Practicum #2  
   
11 03/22/10
Day29

While-The indefinite loop

Sample Worlds used in Lecture:

  • Shark Chase
  • Bumper Cars

Recursion
Introducing Recursion
Comparisons with While

Sample Worlds used in Lecture:

  • Horse race - 1
  • Horse race - 2
  03/24/10
Day30
More about recursion
Structural recursion
 
  03/26/10
Day31

The Towers of Hanoi
Lecture notes: Click here.

Sample Worlds used in Lecture:

  • Towers of Hanoi - 1
  • Towers of Hanoi - 2
 
   
12 03/29/10
Day32

Lists
Introduction to lists
Iterating through lists in order
Iterating through lists simultaneously
Lecture notes: Click here.

Sample Worlds used in Lecture:

  • Rockettes in order
  • Rockettes together

Flower Box basic setup

  03/31/10
Day33
   
  04/02/10 State Holiday No Classes
   
13 04/05/10
Day34

List search
Whack-a-mole example
Lecture notes: Click here.

Sample Worlds used in Lecture:

  • Whack a mole

Starting Scene

Programming Assignment 3 is assigned

 

  04/07/10
Day35

Variables & inheritance - Part 1
Introduction to variables
Revisiting Inheritance

Sample Worlds used in Lecture:

  • Timer world
  • Timer class
Lab sheet: here

Assignment 3 storyboard

  04/09/10
Day36
   
   
14 04/12/10
Day37

Variables & inheritance - Part 2
Continued work with variables

Sample Worlds used in Lecture (*note: this is a slightly different example than in the book):

  • Corvette

Assignment 3 storyboard due

  04/14/10
Day38

Arrays and array visualization
Introducing arrays
Creation and access

Sample Worlds used in Lecture:

  • array with random access
  • array with swap
  • array with turn in loop

Lab sheet: here

Starting world for lab

Assignment 3 due next class.

 

  04/16/10
Day39
  Lab sheet: here
   
15 04/19/10
Day40
  Assignment 3 Due
  04/21/10
Day41
 

Student presentations of assignment 3

  04/23/10
Day42
 

Student presentations of assignment 3

   
16 04/26/10
Day43
Last Day of Class
SPOTS
 
   

Final Exam:
Friday, April 30
0800-1100
BR 165