banner

Reading Apprenticeship Inspired Assignment or Lesson

Instructor Giordano
Java Programming
Text Based Lesson



Purpose

The purpose of this assignment is to help students learn the importance of teamwork in programming by having them work on a programming project using the same procedures they will experience in industry.

Context

This lesson will be conducted in the last few weeks of this introduction to computer science course.  At this point, the students will have already learned the fundamental concepts of programming, decision making techniques, and developed problem solving skills.

Criteria

Conceptual learning will be evaluated by the students ability to read the customer requirements document, understand the problem, collectively create a plan, individually develop their portions of the computer program, integrate the individual portions of the program, and then determine if the solution exceeds, meets, or falls short of customer requirements. 

Metacognitive Conversations

Students will be explaining to their teammates their thinking process as the have a group discussion about problem solving, planning, and program integration.

Details

Abstract: Students will learn by working together as a team to solve a common goal.  They will get hands on experience using industry standard software development procedures.  This activity will be conducted during a 2.5 hour On-Campus or Synchronous Live Online class.  The lesson will be broken up into five 30 minute segments.  Student groups will have 25 minutes to work with their team followed by 5 minutes where the class as a whole has a discussion about the task just performed.


Details:
1. Customer requirement: student teams will be supplied with a document that lists all of the key features that the customer wants.  Students will need to perform either textbook or online searches to understand any customer term or phrase they are not familiar with (instructor will not provide assistance).

2. Problem understanding: students will individually create list of method file UML diagrams and class file UML diagrams that will be needed for the project.

3. Planning: students will decide the importance of each customer want and then create a prioritized list of these features,  This plan will also indicate the person responsible for each portion of the program.

4. Code development: each student will create, test, and refine their assigned portion of the program.

5. Program integration: teams will integrate, test, and refine the program.  The team must create summary table that lists all of the customer want along with whether that customer want was exceeded, meet, or not accomplished.  A brief explanation will be required for any customer wants that have been exceeded or not accomplished.

Text and Materials