ITP 100 Software Design

 WEB COURSE

·         Professor:  Barbara Holt.

·         Phones: 703-534-2512           703-845-6006 (fax)

·         Office: Room AA362, Bisdorf Building or designated location..    Office Hours:  by appointment to meet individual student needs.

        E-mail addressbholt@nvcc.edu

Please email the instructor by January 18th indicating your enrollment in this course/intent to be in this course.  Any student from whom and email has not been received by that date will be removed from the course by the instructor and the course will not be shown on any future student transcripts.  This action is required by NVCC policy.

Course Description:

Teaches design of programming solutions to common processing problems in information systems. Surveys methods and styles of  structured and object-oriented design, using recognized design tools. Includes "hands-on" experience via animation creation using ALICE software and textbook.  Object concepts also taught using Internet websites.

You will need to devote about 8-10 hours a week (normal class time and homework time) to complete this course successfully.  Completing some of the longer assignments may add to this amount of time.  Find the days and times you can work and then STICK TO IT.

Because of its hands-on nature, you should enjoy this course.  It is meant to teach how to program while having fun and creating simple animations.  The objects and structures will be learned through doing....as well as working through Internet tutorials websites.

Entry Level Competencies:

Students must be able to read and write at a college level. Co-requisite MTH 151.

·                         Textbooks:

Learning to Program with Alice by Wanda Dann, Stephen Cooper, Randy Pausch

 

Optional Text:  by Joyce Farrell

OBJECT-ORIENTED...PROGRAM.LOGIC + DESIGN.  Publisher:CENGAGE LEARNING

ISBN: 9780538452984

 

 

You may also want to visit  http://www.alice.org/ the official ALICE website from Carnegie Mellon Institute. 

 

Both textbooks are available used from online sites such as amazon.com and half.com and others.  If the ALICE text does not come with the CD's, that is fine, as the software can be downloaded for free from alice.org (see above).

 

For a fast computer more than 2 GB's of RAM  load Alice version 2.2 from the CD.

 

For a slower computer with only 2GB's of RAM or less,  you will want to load Alice version 2.0 from the CD.  If you do not follow these directions, ALICE will hang up your computer and you will have to reboot!!.  I have tried to assign reasonably small-sized ALICE projects. 

·              Important Dates:

Visit  http://www.nvcc.edu/academics/academic-calendar/#sp11 for all dates.

Last day to withdraw with a refund or change to audit

Jan 18

 

Schedule adjustments (add/drop/swap - on NOVAConnect) without permission

Jan 10-12

 

Schedule adjustments with permission (Adds -- in person only; Drops – onNOVAConnect)

Last day to withdraw without grade penalty 

Jan 13-18


Feb 14

 

·            Grade Basis:

·         1 online test on OOP concepts from Internet sites and assignments (see OTHER RESOURCES below)   @  45  = 45%

·         1 email to confirm attendance in the course with comments on specified topic @  2   =  2%

·         Posting to Discussion Board 3%

·         6 assignments using OOPs Internet sites and ALICE software  @ 8.34 =  50%

 

Grading scale is:    90 to 100 A    80 to 89  B      70 to 79 C    
60 to 69 D     Below 60  F

 

The assignments have due dates.   Assignments may be submitted up to 1 week after the due date until the end of the course. After that they WILL NOT be accepted.  If you have an individual problem at any time during the course, please contact the instructor.  If the instructor has not confirmed a later submittal date, the assignment will NOT BE accepted.  Students who want an alternative schedule MUST arrange it with the instructor.  You may be asked to provide proof of reason for untimely completion of assignments. You also must keep up contact with the instructor during the course session.  If you have NOT received a confirmation email that an extension has been granted, your late submissions will NOT be accepted.

 

   Students who wish to work at a faster pace are invited to do so at any time without permission.

 

   All email received from students will be CONFIRMED by the instructor.  If you do not receive a confirmation, assume your email HAS NOT been received.  You are invited to call your instructor any time you are in doubt.

 

Assignments (for ALICE projects, the .a2w files you create and answers to questions about the concepts learned in the assignments) are to be attached to an email for submission.

The discussion parts of all assignments can be done in any word processor and submitted via email attachment.

Please DO NOT upload your assignments to Blackboard

 

·                  Course Materials and Assignments

 It is expected that students will do each of the exercises throughout the chapters of ALICE (not all the ones at the end of the chapter)  in order to learn the basic ALICE programming and use the object oriented concepts learned in the concepts readings on the Internet.  The exercises are guided exercises.  You will learn basic programming structures as well by doing the projects.  The key to the projects is not to spend time learning every aspect of ALICE but to submit a project that meets the basic stated requirements of the assignment.  Students who are inclined to play with lots of graphics are invited to do so, but it is NOT required.  If the project does not say to make something blue, it is not expected that you do so, for example.  It is expected that you create your own methods when specified, use ‘If then else’ statements for the project at the end of that chapter, use a function as specified, use loops/repetition as required at the end of that chapter, create and use a list (also known as an array) and the ‘for all in order’ and the ‘for all one at a time’ (last project).  Students who do significant, extra work WILL receive extra points

·         General Online Resources for object oriented and structured program design- some of these are specifically used for homework assignments and are listed as such below in the Class Schedule.  Others are for your information and increased knowledge of programming as a concept and program design tools and structures. 

·         Vocabulary Listing for OOPs Concepts and UML and Test Study Guide   is the a webpage page which has specific terminology and concepts needed for the test in OOPs/UML for this course.  The terminology and concepts are practiced in assignments listed below in the Class Schedule as well.

               Class Schedule:
 

 Week 1

Jan 10th


ALICE

Appendix A and B THEN Chapter 1  and 2 

 

 

 

Emphasis for week 1:

With text and computer, Install the ALICE CD.  If you have a powerful computer with more than 2GB RAM, then install version 2.2  If you have 2GB RAM or less install version 2.0 only!! (keep it with you if traveling because it has a library on it which you probably do not want to install because of its size, but you may install it).  Do appendix A and B and the ALICE tutorial.

   

     THEN you should be able to use ALICE to create a simple animations.  Work through chapters 1 and 2.  At that  point you should be able to complete the first assignment..

 

Assignment 1

 

 Assignment 1 DUE January 19th.  Attach the .a2w ALICE file and the answers to the questions about the assignments to an email and submit to instructor

 

 

  Week 2

January 17


Read over ALICE Chapter 3,4

 

 

Assignment 1 due January 19th

 

Emphasis for week 2:

Open the link to assignment 2 below and READ the website carefully...concepts of objects, classes, variables, attributes, properties, methods, encapsulation, inheritance.

 

Continuing in ALICE

Programming: Putting Pieces Together

 

Classes, Objects, Methods, and Parameters- read over for understanding

 

Assignment 2  DUE January 25

Website and PDF file reading:

Object Primer in PDF format -main reading for assignment

 

http://java.sun.com/docs/books/tutorial/java/concepts/ - similar narrative and contains examples in JAVA language for interested students

Assignment 2 questions

 

 

  

      Assignment 1 DUE January 19

 

 Assignment 2 DUE January 25

Week 3

January 24

 

ALICE  Chapter 3,4

 

 

  

Emphasis for week 3:

Programming: Putting Pieces Together

 

Classes, Objects, Methods, PARAMETERS( very important concept!!), and Inheritance

 

Assignment 3   

 

 

 

Assignment 2 DUE January 25

Assignment 3 DUE February 1

 

 

   Week 4

January 31


ALICE Chapter 5, 6, and 7

 

 

 

Emphasis for week 4:

Open the link to assignment 4 below and READ the website carefully...Introduction to UML, Unified Modeling Language...what is it, why is it important, common diagrams used in UML

 

Assignment 4

 

Websites:

     wwwis.win.tue.nl/2R690/together

     and

     http://edn.embarcadero.com/article/31863 - this one has little self tests with it-both have the same information, however.

 

Assignment 4 questions

 

 

Continuing in ALICE, read over the chapters for basic ideas.  Begin to practice chapter examples

 

Events, Functions, If-then-else structure, Repetition/Looping/While structure

 

Assignment 3 DUE February 1

Assignment 4 DUE February 8

 

 

 Week 5

February 7

 

Chapter 5, 6, 7

 

 

Assignment 4 Due February 8

 

Emphasis for week 5

 

Events, Functions, If-then-else structure, Repetition/Looping/While structure

 

Open the link to assignment 5 below and READ the website carefully...more on UML using a UML 2.0 tutorial

 

Assignment 5 

Read the internet tutorial the actual link.

Website:

http://www.sparxsystems.com/uml-tutorial.html

 

Link to assignment 5

 

   

 

 Assignment 4 February 8

 Assignment 5 Due February 15

 

 

    Week 6

 February 14

Chapter 9, 10

Assignment 5 Due February 15

 

Emphasis for week 6:

Lists and Array structures and index concepts.

 

 

     Assignment 6 due February 27

     TEST on Blackboard (under Course Documents)         due March 5

Week 7
January 24

Chapters 9, 10

Assignment 6 due February 27

 

Emphasis for week 7:

More on Lists and Array structures and index concepts.

Assignment 6 due February 27

Continue ALICE Reading and exercises List and Arrays.

 

 

Week 8
January 31

 

No work accepted after 11pm March 5

TEST on Blackboard (under Course Documents) due March 5 by 11pm

 

Last updated:  February 7, 2011