|
CS1 (Ropes & Ladders (XNA) ; PeriodicTable (Console) ) |
Key Topics That Students Will Learn In This Assignment: |
|
Pre-requisite Knowledge
That Students Must Know, Prior To Starting This Assignment: (What students must know before completing this assignment) |
|
Summary |
The primary goal for these assignments is to provide students with
the opportunity to practice some basic object oriented programming
(by defining a simple class, instances of which will then be stored
in the array).
For the Console assignment, the students will complete a program that allows the user to display, edit, and add elements to a Periodic Table Of Elements (a la chemistry). In order to do this, the students will have to fill in an Element class, and then create at least 10 instances of the class (each instance represents a single Element, such as Carbon, or Hydrogen). They will then have to complete the implementation of a PeriodicTable class, which manages access to the array of Elements, including dealing with empty array slots (i.e., dealing with null references in the array). For the XNA assignment, the students will complete a program
that allows the user to play a variation of the 'Snakes And Ladders'
board game. Each turn, the player is allowed to choose to move
forwards by a random distance. If the player lands on a space
that contains a piece of gold, the gold will be removed from the
board, and added to the player's total. If the player lands on
a snake, then will go down/backwards to a lower space. If the
player lands on a ladder, then will go up/forwards to a higher
space. In addition to choosing to move randomly, the player may
decide to create a new snake or ladder - the destination of which is
randomly chosen. |
Instructor F.A.Q. | |
Pre-Test | Post-Test |
Lecture Hours Prior To Assignment Due Date: | 15 |
ACM Classification (Topics Covered): (What the students will learn, and demonstrate, by doing this assignment)
From: Computing Curricula 2001 Computer Science — Final Report —
The Joint Task Force on Computing Curricula
|
PF1. Fundamental programming constructs
PF3. Fundamental data structures
PL6. Object-oriented programming
|
Technical Requirements:
(What the students will learn, and demonstrate, by doing this assignment)
From: Computing Curricula 2001 Computer Science — Final Report —
The Joint Task Force on Computing Curricula
It is hoped that providing this information may help instructors with the accreditation process, as calling this information out will help clarify how this assignment (and from here, the overall course) meets the learning outcomes for the overall program/department, and institution. |
PF1.1 - Analyze and explain the behavior of simple programs involving the fundamental programming constructs covered by this unit. (The students are given code, and required to demonstrate that they understand the program by modifying the program)
PF1.2 - Modify and expand short programs that use standard conditional and iterative control structures and functions. (The students are given code, and required to demonstrate that they understand the program by modifying the program)
PF1.3 - Design, implement, test, and debug a program that uses each of the following fundamental programming constructs: basic computation, simple I/O, standard conditional and iterative structures, and the definition of functions. (The students are given code, and required to demonstrate that they understand the program by modifying the program. Their modifications must include those topics listed above.)
PF1.4 - Choose appropriate conditional and iteration constructs for a given programming task. (The students will need to do this in this assignment, as they check for out-of-bounds errors, and iterate through the array.)
PF1.5 - Apply the techniques of structured (functional) decomposition to break a program into smaller pieces. (While note a primary topic for this assignment, the students will be creating a program out of a collection of smaller methods.)
PF3. Fundamental data structures PF3.6 - Write programs that use each of the following data structures: arrays, records, strings, linked lists, stacks, queues, and hash tables. (This assignment makes extensive use of arrays, as well as classes (records) )
PL6. Object-oriented programming PL6.2 - Design, implement, test, and debug simple programs in an object-oriented programming language. (C# is an object-oriented programming language, and this assignment requires students to solve the given problem using an object-oriented approach ) PL6.3 - Describe how the class mechanism supports encapsulation and information hiding.
(The students are required to properly encapsulate
their code, but they must decide how to do this, thus ensuring that
they are demonstrating a clear understanding of what this means.) |