Course Profile   Computer and Information Science (ICS4M), Grade 12, University/College Preparation, Combined

 

Unit 1:  Designing and Implementing Data Structures

Time:  25 hours

 

Activity 1 | Activity 2 | Activity 3 | Activity 4 | Activity 5 | Activity 6 | Activity 7

 

Unit Description

In this unit, students review and extend their knowledge in data structures while focusing on implementation of projects to create and manipulate data constructs. Students apply fundamental fixed-size data structures (arrays, user-defined data types, records, arrays of records) to solutions to real-life problems and suggest possible implications of data storage on people’s lives in light of Canadian law and Catholic teaching. Students use independent study activity to further their mastery of new programming skills in preparation for postsecondary destinations. They also learn to select proper data structures that best match the information and promote program efficiency, code reusability, and maintenance. Students review and reinforce the principles of ergonomics and relate it to the rights of workers. They explore career opportunities in computing and information science related fields.

Unit Synopsis Chart

Activity

Time

Learning Expectations

Assessment Categories

Tasks

1.1
Ergonomics and Effects on Workers

2.5 hours

IC2.04

CGE2c

Knowledge/ Understanding

Communication

Students observe computer ergonomics in the school.

1.2
Reviewing Fundamental Data Structures and Related Algorithms

3 hours

TFV.02, TF1.03, SP1.06

CGE5a, 5e

Thinking/ Inquiry

Application

Students review and improve data structure skills.

1.3
User-Defined Data Types and Arrays of Records

3.5 hours

TFV.02, TFV.03, TF2.02, SP2.02

CGE4a

Knowledge/ Understanding

Communication

Application

Students use user-defined data types or records and arrays of records in programming problems.

1.4
Random File Access

4 hours

SPV.05, SP2.02, SP2.12

CGE4a

Thinking/ Inquiry

Application

Students read and write binary files and participate in a peer-assessment exercise.

1.5
Careers Based on Information Storage and Retrieval

3 hours

ICV.03, IC3.01

CGE4g

Knowledge/ Understanding

Communication

Students investigate and share information about computer and information-science related careers.

1.6
Independent Mastery of New Programming Skills

3 hours

TFV.02, SP2.11

CGE4f

Thinking/ Inquiry

Students explore new skills based upon data structures.

1.7
User-Defined Data Types and Data Structures Project

6 hours

SP1.06, SP2.02, SP2.03, SP3.01

CGE7j

Knowledge/ Understanding

Thinking/ Inquiry

Communication

Application

Students apply the knowledge and skills they have acquired to a unit-end project.

Activity 1:  Ergonomics and Effects on Workers

Time:  2.5 hours

Description

By observing computer activity in the school, students assess workplace ergonomics standards and recommend improvements to prevent potential health and safety problems associated with computer use.

Strand(s) & Learning Expectations

Ontario Catholic School Graduate Expectations

CGE2c - presents information and ideas clearly and honestly, and with sensitivity to others.

Strand(s):  Impact and Consequences

Specific Expectations

IC2.04 - use appropriate strategies to avoid potential health and safety problems associated with computer use, such as musculo-skeletal disorders and eyestrain.

Prior Knowledge & Skills

Students:

·         can define the term ergonomics and are aware of job-related injuries, especially in computing;

·         can use web browsers and have access to the Internet.

Planning Notes

·         Download checklists and evaluation forms from http://ergo.human.cornell.edu/cutools.html to evaluate keyboard, workstation, desk, chair and seating evaluation forms, as well as the male and female muscolo-skeletal discomfort questionnaire, left and right hand discomfort questionnaires. Prepare one package for each group of 3-4 students depending on the size of the class.

·         Gather specific information from articles on the relationship between improper ergonomics and occurrences of musculo-skeletal disorders like carpal tunnel syndrome, other hand and wrist problems, back pain, and eyestrain. (See Resources for useful sites.)

·         Gather specific information on guidelines for good ergonomics: proper light source, keyboard format, seating distances from monitors, posture, chair requirements, required breaks, brief hand, arms and neck exercises done on an hourly basis, proper seating heights, etc. See Resources for useful sites.

·         Make arrangement for six different locations (preferably within the school) in which students can make observations on existing computing environment settings, e.g., office, vice principal’s office, Guidance and Student Services Department, computer labs, teacher workstations, attendance office, etc.

·         Prepare a list of fact-finding techniques (see Appendix 1.1.1).

Teaching/Learning Strategies

·         The teacher presents examples of bad posture/ergonomics and their link to muscolo-skeletal injuries.

·         The teacher facilitates discussion on the severity of disorders, such as carpal tunnel syndrome.

·         Students are assigned into groups of three or four. Each group goes to a specific area of the school at the date and time prearranged with each department/office.

·         The teacher presents the fact-finding techniques, checklists, evaluation forms, and questionnaires to students and provides one package to each group.

·         Students observe particulars appropriate to their assigned form. If a questionnaire is involved, students negotiate the best time to either pick up the filled-in questionnaire or to help the respondent fill in one. Note: Students must be instructed to accept “no comment” as a valid answer to any questions, and to respect that people may choose not to respond at all.

·         Students summarize their findings in a report (see requirements in Appendices 1.1.2 and 1.1.4) and make recommendations/suggestions for improvement. Students should be aware of the professionalism checklist (Appendix 1.1.3).

·         As an extension, students present their recommendations to the respective office/departments.

Assessment & Evaluation of Student Achievement

The teacher and students gather assessment information based on specific expectations, including:

·         a formative assessment in the form of student checklists, evaluation forms, and questionnaires
(see Appendices 1.1.3 and 1.1.4).

·         a summative assessment in the form of a written report using a rubric.

Accommodations

·         Plan easily accessible locations for observation.

·         Provide a variety of alternatives in presenting information.

·         Continue to develop a glossary of key words and phrases.

Resources

Casey, Steven. Set Phasers on Stun and Other True Tales of Design, Technology and Human Error,
2nd ed. Santa Barbara: Aegean Publishing Company, 1998. ISBN 0 9636178 85

Chartered Institute of Building Service Engineers (CIBSE) – http://www.cibse.org/

Ergonomics For Schools – http://www.ergonomics4schools.com/infot.htm

Ergonomics Society – http://www.ergonomics.org.uk/ergonomics.htm

Guidelines – http://ergo.human.cornell.edu/MBergo/schoolguide.html#truth%20ergo%20products

Norman, D.A. The Design of Everyday Things. The MIT Press, 1998. ISBN 0262640376

Puzzles on Ergonomics – http://ergo.human.cornell.edu/cufun.html

Safety Library – http://www.safetyinfo.com/safetyinfo/html/guests/aa-g-indexes/t-ergonomics.htm

Tools – http://ergo.human.cornell.edu/cutools.html

VDT Posture Checklist – http://ergo.human.cornell.edu/CUVDTChecklist.html

Workplace Ergonomics Tools

Product Evaluations – http://ergo.human.cornell.edu/ahKEYBOARD.html & /ahSEATING.html

Posture Evaluations – http://ergo.human.cornell.edu/ahRULA.html & /ahREBA.html

 

Activity 2:  Reviewing Fundamental Data Structures and Related Algorithms

Time:  3 hours

Description

Students participate in a timed tournament with various stations. The tournament acts as a review of students’ understanding and skills related to the use of one-dimensional and two-dimensional arrays, developed in Grade 11. Students write short practice programs to review array concepts.

Strand(s) & Learning Expectations

Ontario Catholic School Graduate Expectations

CGE5a - works effectively as an interdependent team member;

CGE5e - respects the rights, responsibilities, and contributions of self and others.

Strand(s):  Theory and Foundation, Skills and Processes

Overall Expectations

TFV.02 - explain data structures and their processing algorithms.

Specific Expectations

TF1.03 - identify similarities and differences among data structures, including arrays, records, and arrays of records, and their applicability to solving programming problems;

SP1.06 - design algorithms to incorporate data structures in projects.

Prior Knowledge & Skills

Students:

·         can describe the concepts and use of one- and two-dimensional arrays;

·         understand the concepts of the bounds, indices, and homogeneity of data type of arrays;

·         can populate, process, and output a one-dimensional array using a counted loop;

·         can use array data structures to solve problems;

·         can use appropriate algorithms to sort and search a one-dimensional array.

Planning Notes

·         Prepare a list of all Grade 11 learning objectives regarding the array data structure. (See
Appendix 1.2.1.) Photocopy the list for each student or put an electronic copy on an accessible network drive.

·         Assess students’ strengths and weaknesses on the topic of arrays.

·         Prepare tournament questions according to each subtopic under arrays. (See Appendix 1.2.2.) Prepare answers for each of the questions. Group the questions to suit students (e.g., declaration of arrays (one- and two-dimensional), array bounds and indices, populating an array, searching for an element in an array, sorting an array, output elements from an array, debugging, what does this algorithm do, etc.).

·         Prepare tournament tally sheets, one for the group score (Appendix 1.2.3) and one for each individual student’s score (Appendix 1.2.4).

·         Obtain a stopwatch and whistle and prepare the review programming assignment.

Teaching/Learning Strategies

·         The teacher presents the list of learning objectives from Grade 11 regarding the array data structure.

·         Students review the material and ask questions to clarify and consolidate concepts.

·         The teacher allocates areas in the classroom as questioning stations for the tournament.

·         The teacher asks for student volunteers to stay at each station with the questions (and answers). Since the purpose of this activity is to review topics covered in Grade 11, the volunteers rotate to each station and cover all the topics that the competing students cover.

·         The teacher assigns students to groups of three or four and reminds them of the importance of developing good teamwork skills both for learning and success in life.

·         Students come up with a name for their team and number themselves off within the team.

·         The teacher distributes one group total score sheet to each group and an individual score tally sheet to each member of each group (Appendices 1.2.3 and 1.2.4).

·         Students form new groups according to their numbers (all ones are a group, etc.).

·         Each numbered group visits each station. At a station, each student has a turn at answering a question within a time limit (e.g., 30 seconds). If the answer is wrong, the others can seize the opportunity to answer and gain extra points for their home team. At the whistle, each group rotates to the next station.

·         Students write down questions they answered incorrectly and discuss the answers with other students.

·         The teacher explains that the final long whistle signals the end of the tournament. Home teams then reunite and tally the scores of the members. The team with the highest score wins the tournament.

·         The teacher runs a follow-up session to further clarify and/or answer students’ questions after the tournament.

·         Students write practice programs to review and reinforce array programming skills.

Assessment & Evaluation of Student Achievement

The teacher and students gather assessment information from the activity in the form of:

·         a diagnostic assessment during the tournament at each questioning station;

·         a formative assessment of the review programming assignment (see Appendix 1.2.5).

Accommodations

·         Provide a vocabulary list for the tournament and add words to the glossary.

·         Provide some tournament questions in audio-tape format as well as on paper.

·         Allow some students to be stationary at a questioning station as a timekeeper or recorder.

·         Provide opportunities for students to further develop game format or add to the proposed one.

Resources

Bennett, B., C. Rolheiser-Bennett, and L. Stevahn. Cooperative Learning – Where Heart Meets Mind. Toronto: Education Connections and Washington: Professional Development Association, 1991.
ISBN 0-9695388-0-4

Ministry of Education. Grade 11 Computer and Information Science Course Profile. Ontario: Queen’s Printer, 2001.

Lambert, K.A., D.W. Nance, and T.L. Naps. Introduction to Computer Science with C++, Revised Edition. Boston: PWS Publishing Company, 1997 (Chapters 2 and 3). ISBN 0-534-95204-6

Lewis, J. and W. Loftus. Java Software Solutions: Foundations of Program Design. MA: Addison-Wesley, 1998 (Chapter 11). ISBN 0-201-57164-1

 

Activity 3:  User-Defined Data Types and Arrays of Records

Time:  3.5 hours

Description

Students critically analyse the effectiveness of one-dimensional, two-dimensional, and related arrays. Students then extend their knowledge of effective means of handling data with the creation and application of user-defined data types and arrays of records.

Strand(s) & Learning Expectations

Ontario Catholic School Graduate Expectations

CGE4a - demonstrates a confident and positive sense of self and respect for the dignity and welfare of others.

Strand(s):  Theory and Foundation, Skills and Processes

Overall Expectations

TFV.02 - explain data structures and their processing algorithms;

TFV.03 - analyse a number of programming paradigms.

Specific Expectations

TF2.02 - describe how user-defined type and records provide more flexible and powerful ways of handling data;

SP2.02 - employ user-defined data types and record data types to improve program efficiency.

Prior Knowledge & Skills

Students:

·         can describe the use of one- and two-dimensional arrays;

·         can define and use the bounds, indices, and elements of an array;

·         can populate, process, and output a one-dimensional array using a counted loop.

Planning Notes

·         Prepare chart paper and markers for the brainstorming session.

·         Prepare four or five real-life database application problems.

·         Prepare four empty shoeboxes by placing two dividers inside, so that each box has three slots. Use masking tape to connect them together, forming a long train-like object. Gather masking tape, four differently coloured markers, four differently coloured sticky pads, and four differently shaped erasers. Place a marker in the first slot of each shoebox, place a sticky pad in the second slot, and place an eraser in the third slot.

Teaching/Learning Strategies

·         The teacher explains the dynamics of a brainstorm session.

·         The teacher groups students and distributes chart paper and markers to each group.

·         Students brainstorm pros and cons of the use of one-, two-dimensional and related arrays to solve a given set of scenarios (Appendix 1.3.1). Students have five to ten minutes to complete the task.

·         The teacher distributes a real-life database problem to each group.

·         Using their current knowledge of arrays, students brainstorm array-based solutions and then share their problems and solutions with other groups.

·         The teacher asks students to pay attention to the shoeboxes and point out the similarities (same number of slots; same kind of object inside the first, second, and third slot even though the objects have different colours/shape; each box contains three different objects).

·         On the sides of the boxes facing students, the teacher numbers the boxes 1 to 4.

·         The teacher asks students if the numbers remind them of something (hopefully, the indices of
an array).

·         The teacher explains the concept of user-defined data types in relation to the shoeboxes.

·         The teacher explains the effectiveness of user-defined data types and use of them in an array.

·         The teacher explains the use of dot notation to access data members of an element of an array of user-defined types.

·         The teacher asks students to rethink a solution to their database problem. Students apply their understanding of user-defined data types in an array structure to solve the problem.

·         Students present their revised solutions.

Assessment & Evaluation of Student Achievement

The teacher and students gather assessment information from the activity in the form of:

·         a formative assessment during the group brainstorming sessions;

·         a summative assessment of solutions using a rubric or rating scale.

Resources

Arnow, D. and G. Weiss. Introduction to Programming Using Java: An Object Oriented Approach. Massachusetts: Addison & Wesley Longman, Inc., 2000. ISBN 0-201-61272-0

 

Activity 4:  Random File Access

Time:  4 hours

Description

Students review sequential file access and are introduced to random or direct file access. They explore the advantages and disadvantages of both types of file organization and access methods as well as their use. Students practise creating sequential and direct-access data files, editing them, and appending them. Students learn to arrange fields into records and records into files by choosing the most appropriate file association for the type of data. The exercises and peer assessment of the mini-project solution serve as preparatory stages for the unit-end project in Activity 7.

Strand(s) & Learning Expectations

Ontario Catholic School Graduate Expectations

CGE4a - demonstrates a confident and positive sense of self and respect for the dignity and welfare of others.

Strand(s):  Skills and Processes

Overall Expectations

SPV.05 - use file-management techniques in project settings.

Specific Expectations

SP2.02 - employ user-defined data types and record data types to improve program efficiency;

SP2.12 - effectively critique programs written by others.

Prior Knowledge & Skills

Students:

·         are able to effectively use one- and multi-dimensional arrays;

·         possess knowledge of sequential file access and flow control structures;

·         know the algorithms for at least one sorting and searching technique.

Planning Notes

·         Prepare sample code and sample text files to illustrate and review processing of sequential files (opening files for sequential access, reading from open files, writing strings to files, appending files).

·         Develop visual aids to illustrate sequential- and random-access file organization.

·         Create sample code in the language of choice to introduce random-access file creation and processing.

·         Generate a list of short problems for final group work and clear instructions for random-access file creation and processing (creating records, reading records into variables, writing variables to records, adding records, deleting records, sorting records, searching for records).

Teaching/Learning Strategies

·         The teacher reviews sequential-access data files, their organization, file techniques, and the advantages and disadvantages of sequential-access data files.

·         The teacher provides sample code and a sample file to illustrate processing of sequential files.

·         Students create a sequential file by writing 10 names of their friends, each name followed by the friend’s age and grade level. Students manipulate the file. They open it for reading, append it with new fields, delete fields, and then output the file to the screen.

·         The teacher supplies students with a text data file. They read the data into an array of string type, output data to the screen, and perform simple sorting and searching techniques on the data. The teacher reminds students to use the End of File (EOF) indicator.

·         The teacher introduces random (direct) access data files, contrasting the organization of random-access files and sequential-access files. The teacher stresses the concept of identical records and points out that fields of string data type require fixed length. The teacher visually illustrates the two file-access techniques (e.g., as records on a tape) and the data organization in files (e.g., diagram of file-records-fields-bytes-bits). The teacher discusses the advantages and disadvantages of random file access.

·         Students practise creating user-defined data types with fixed-length string fields and record their choices in their notebooks. The teacher leads a class discussion of students’ examples, including the correctness of their selection of fields, data types, and lengths of string fields.

·         The teacher demonstrates:

a)   creating random access files;

b)   opening files for random access;

c)   editing files opened for random access (by reading records into variables, writing variables to records, adding records, and deleting records).

·         Students practise user-defined data file creation and management techniques (e.g., students create book records, including author’s name, title, place of publication, publisher, publication date, ISBN, price).

·         Students create and edit random access files, sort them, and search for user-specified data. Students collaboratively work on parts of the program and combine their solutions in the final stage. They include proper internal documentation.

·         Students swap solutions and provide feedback on correctness and efficiency (Appendix 1.4.1).

·         The teacher directs students to the media awareness network website to review “A Day in the Life” from the Annual Report of the Privacy Commissioner of Canada.

·         Students describe the structure of any five of the suggested files.

·         Students read the Decree on the Media of Social Communications, Inter Mirifica by Pope Paul VI, and describe, in several paragraphs, how the concerns expressed in Inter Mirifica could be applied to the storage of information about individuals. (Appendix 1.4.2)

Assessment & Evaluation of Student Achievement

The teacher and students gather assessment information from the activity in the form of:

·         a formative peer evaluation checklist (Appendix 1.4.1); students provide feedback on the group’s solution (correctness, effectiveness, modularity, internal documentation);

·         a summative assessment of the completed program.

Accommodations

·         Enhance work on mini-projects by adding extensions (e.g., use of more advanced sorting techniques, utilization of binary file access, use of more comprehensive records, etc.).

Resources

Barnard, D.T., R.C. Holt, and T.L. West. Data Structures: An Object-Oriented Approach. Toronto: Holt Software Associates, Inc., 1995. ISBN 0-921598-24-6

A Day in the Life – www.media-awareness.ca/eng/issues/priv/topics/privday.htm

Deitel, Harvey M. and Paul J. Deitel. C++: How to Program. Upper Saddle River, New Jersey: Prentice Hall, Inc., 2000. ISBN 0-13-089571-7

Deitel, Harvey M. and Paul J. Deitel. Java: How to Program. Upper Saddle River, New Jersey: Prentice Hall, Inc., 2001, pp. 775, 793. ISBN 0-13-034151-7

Deitel, Harvey M., Paul J. Deitel, and T.R. Nieto. Visual Basic 6.0: How to Program. Upper Saddle River, New Jersey: Prentice Hall, Inc., 1999, pp. 579, 616. ISBN 0-13-456955-5

Hume, J.N.P. An Introduction to Programming in Turing. Toronto: Holt Software Associates, Inc., 2001. ISBN 0-921598-42-4

Input and Output with Streams – http://www.ibiblio.org/javafaq/course/week10/

Inter Mirifica – http://www.vatican.va/archive/hist_councils/ii_vatican_council/documents/vat-ii_decree_19631204_inter-mirifica_en.html

Sequential Access Data Files – http://www.minich.com/education/wyo/cplusplus/cplusplusch11/

Sequential File Access – http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon98/html/vbconusingsequentialfileaccess.asp

 

Activity 5:  Careers Based on Information Storage and Retrieval

Time:  3 hours

Description

Students conduct research on existing occupations and emerging careers in computer and information science. They investigate educational opportunities using college and university calendars (printed or online) and other career-based resources and materials. Students explore their chosen or assigned career in a group and present their research to the class in a formal presentation. The presentation also includes discussion of the ethical aspects of career choices in the information science area.

Strand(s) & Learning Expectations

Ontario Catholic School Graduate Expectations

CGE4g - examines and reflects on one’s personal values, abilities, and aspirations influencing life’s choices and opportunities.

Strand(s):  Impact and Consequences

Overall Expectations

ICV.03 - identify postsecondary educational opportunities leading to careers in information systems and computer science.

Specific Expectations

IC3.01 - describe the range of career opportunities in computing and their lifelong learning requirements.

Prior Knowledge & Skills

Students:

·         are familiar with Internet search and research techniques;

·         are aware of job advertisements in, for example, newspapers, online job banks, and the Human Resources Development Canada job banks;

·         can tie the current activity with careers in computing they explored in Grade 11.

Planning Notes

Note: This activity can be researched entirely through the Internet during class or, if Internet access is not available, prepared beforehand both by the teacher and students. Research of print materials can also supplement the Internet work.

·         Obtain post-secondary calendars.

·         Prepare advertisements related to information storage professions from newspapers, magazines, etc.

·         Contact the guidance staff for career brochures and The INFO Guide.

·         Create groups to work on a chosen or assigned profession prior to the activity.

·         Prepare a list of educational institutions and enterprises to be contacted for information regarding computer and information fields, with a focus on information storage and retrieval.

·         Provide students with the list of Internet links related to the careers (Appendix 1.5.1).

Teaching/Learning Strategies

·         The teacher reads selected passages from Laborem Exercens and The Catechism of the Catholic Church (see Resources) to the class.

·         The teacher explains the purpose of the activity, ties it to Grade 11 work on careers, and provides an overview. The teacher distributes student worksheets (Appendices 1.5.1 and 1.5.2) and the presentation assessments (Appendices 1.5.4).

·         The teacher reminds students of responsible and ethical use of the Internet.

·         Students form groups of three to explore information storage and retrieval professions, either through the use of the Internet or use of previously gathered materials.

·         The teacher provides a list of professions or approves professions proposed by the class. Choices include: Data Entry Clerk, Computer/Database Programmer, Database Developer, Database Marketer, Internet Database Developer, Database Manager, Information Systems Programmer, Information Systems Developer, Database Administrator, Information Retrieval Professional/Information Analyst, Health/Medical Information Technician, Biomedical Informatics Professional, Library and Information Science Specialist, Electronic Publishing Professional, and Data Administrator.

·         Students research educational programs; suggested terms include: Computer Science, Applied Computer Science, Computer Programming, Information Technology Management, Library and Information Science, Information Organization and Retrieval, Biomedical Informatics, Medical/Health Informatics, Information Management, Information Systems, Information Technology, Database Development, Internet Database Development, Database Programming/Development, Database Marketing, Enterprise Database Management, Information Systems Development/Programming/Management, Computer Applications/Systems Programming.

·         Students are assigned one or two periods to explore the chosen/assigned profession and prepare their group presentation. Group information includes: (Member 1) detailed description of the profession; related professions; emerging information storage and retrieval occupations; (Member 2) name of a college, university, or other educational institution that offers a program in the profession and its location, a program description, admission requirements, and program of study; (Member 3) job prospects, possible places of employment, job offers, job requirements, and future changes.

·         During the final class, students present the information to their peers in a formal 5- to 10-minute presentation. Ideally, every member presents his/her own findings.

·         Students use various forms of communication (e.g., chart paper, overhead transparencies, presentation software, Internet links, etc.) for conducting their presentations.

·         Students fill out the summary worksheet, focusing on three careers they may pursue
(Appendix 1.5.3).

·         The teacher provides a summary of the presentations, eliciting from the class and underlining the importance of databases, Internet databases, and speciality field databases (e.g., health care, education). Students are made aware of emerging information storage and retrieval professions and the changes occurring in the field of information storage. The teacher and students discuss the ethical implications of having access to databases.

Assessment & Evaluation of Student Achievement

The teacher and students gather assessment information from the activity in the form of:

·         a summative assessment of student achievement in identifying and describing postsecondary opportunities in information storage/retrieval professions, using a rubric (Appendix 1.5.4).

Accommodations

·         For enrichment, students explore emerging professions and speculate on future developments.

Resources

Milbrandt, George and Chris Stephenson. Careers in Computing. Toronto: Holt Software Associates, Inc., 2000. ISBN 0-921598-37-8

The Holy See on the Human Community and Work

Encyclical Laborem Exercens – http://www.vatican.va/holy_father/john_paul_ii/encyclicals/documents/hf_jp-ii_enc_14091981_laborem-exercens_en.html

The Human Community – http://www.vatican.va/archive/catechism/ccc_toc.htm

 

Activity 6:  Independent Mastery of New Programming Skills

Time:  3 hours

Description

In preparation for the unit-end project (Activity 7), students research data structures and their algorithms. The purpose of this independent study unit is to enrich students’ knowledge and understanding of data structures, especially dynamic ones. Students examine and learn to create and manipulate one or several major data structures, such as linked lists, stacks, queues, and binary trees. In their research, students identify various applications of dynamic data structures. Students may also explore more efficient sorting and searching algorithms and add them to their newly acquired programming skills, which serve as an introduction to Unit 3: Exploring Advanced Algorithms.

Strand(s) & Learning Expectations

Ontario Catholic School Graduate Expectations

CGE4f - applies effective communication, decision-making, problem-solving, time, and resource management skills.

Strand(s):  Theory and Foundation, Skills and Processes

Overall Expectations

TFV.02 - explain data structures and their processing algorithms.

Specific Expectations

SP2.11 - use appropriate research and resource materials to independently master new programming skills.

Prior Knowledge & Skills

Students:

·         possess knowledge of single- and multi-dimensional arrays, and user-defined data type;

·         can use selected sorting and searching algorithms.

Planning Notes

·         Prepare an overview of the purpose of the activity and its application in Activity 7.

·         Identify a list of dynamic data structures and their possible applications in real-life projects (overhead).

·         Introduce students to the concept of dynamic memory allocation.

·         Develop a list of projects that utilize user-defined data types and incorporate dynamic data structures.

Teaching/Learning Strategies

·         The teacher discusses the purpose of the activity and its application in the unit-end project.

·         Students learn about dynamic data structures and their applications as outlined on the overhead.

·         The teacher presents possible projects and asks students to investigate opportunities for other projects.

·         The teacher reads a passage on The Human Virtues to the class before the start of the independent activity: “Human virtues are firm attitudes, stable dispositions, habitual perfections of intellect and will that govern our actions, order our passions, and guide our conduct according to reason and faith. They make possible ease, self-mastery, and joy in leading a morally good life. The virtuous man is he who freely practices the good.” (…) “Human virtues acquired by education, by deliberate acts and by a perseverance ever-renewed in repeated efforts are purified and elevated by divine grace. With God’s help, they forge character and give facility in the practice of the good. The virtuous man is happy to practise them.” Source: http://www.vatican.va/archive/catechism/p3s1c1a7.htm#I.

·         The teacher and students discuss the reading in reference to qualities needed for independent study.

·         The teacher distributes Appendix 1.6.1 and Appendix 1.6.2 to students.

·         Students’ research should not only be conducted in class, but also after school and during their work on the unit project (Activity 7). The application of dynamic data structures to the project is evaluated.

·         The teacher provides focus, guidance, and help to students during their work.

·         The teacher collects the worksheets (Appendix 1.6.1) and proposals (Appendix 1.6.2).

Assessment & Evaluation of Student Achievement

The teacher and students gather assessment information from the activity in the form of:

·         a formative assessment from feedback on the Dynamic Data Structures Worksheet, ensuring that students are properly employing data structures;

·         a summative assessment of the project proposal (Appendix 1.6.2).

Resources

Barnard, D.T., R.C. Holt, and T.L. West. Data Structures: An Object-Oriented Approach. Toronto: Holt Software Associates, Inc., 1995. ISBN 0-921598-24-6

Deitel, Harvey M. and Paul J. Deitel. C++: How to Program. Upper Saddle River, New Jersey: Prentice Hall, Inc., 2000. ISBN 0-13-089571-7

Deitel, Harvey M. and Paul J. Deitel. Java: How to Program. Upper Saddle River, New Jersey: Prentice Hall, Inc., 2001. ISBN 0-13-034151-7

Deitel, Harvey M., Paul J. Deitel, and T.R. Nieto. Visual Basic 6.0: How to Program. Upper Saddle River, New Jersey: Prentice Hall, Inc., 1999. ISBN 0-13-456955-5

Hume, J.N.P. An Introduction to Programming in Turing. Toronto: Holt Software Associates, Inc., 2001. ISBN 0-921598-42-4

Hume, J.N.P. and R.C. Holt. Introduction to Computer Science using the Turing Programming Language. Toronto: Holt Software Associates, Inc., 1990. ISBN 0-921598-06-8

Hume, Patterson J.N. and Christine Stephenson. Introduction to Programming in Java. Toronto: Holt Software Associates, Inc., 2000. ISBN 0-921598-39-4

Hume, Patterson J.N., T.L. West, R.C. Holt, and D.T. Barnard. Programming Data Structures in Java. Toronto: Holt Software Associates, Inc., 1999. ISBN 0-921598-31-9

Shaffer, Cifford A. A Practical Introduction to Data Structures and Algorithm Analysis, Java Edition. Upper Saddle River, New Jersey: Prentice Hall, Inc., 1998. ISBN 0-13-660911-2

General Overview of Data Structures and Algorithms

Data Structures and Algorithms – http://ciips.ee.uwa.edu.au/~morris/Year2/PLDS210/index.html

Dynamic Memory Allocation

Efficient Use of Memory – http://www.csi.uottawa.ca/~holte/T26/lecture2.html

Dynamic Memory Allocation – http://dekalb.dc.peachnet.edu/~jbenson/csci1302/dynamic/index.htm

Dynamic Memory Allocation in C – http://www.d.umn.edu/~gshute/C/dynamic.html

 

Activity 7:  User-Defined Data Types and Data Structures Project

Time:  6 hours

Description

The intent of the unit-end project is to incorporate knowledge and skills gained in Unit 1 and ICS3M in a solution to a problem. Students work on teacher-approved project topics and follow the specifications. Opportunity for expansion and modification, if approved by the teacher, allows for enrichment.

Strand(s) & Learning Expectations

Ontario Catholic School Graduate Expectations

CGE7j - contributes to the common good.

Strand(s):  Skills and Processes

Specific Expectations

SP1.06 - design algorithms to incorporate data structures in projects;

SP2.02 - employ user-defined data types and record data types to improve program efficiency;

SP2.03 - use arrays, records, and arrays of records in different project settings;

SP3.01 - implement a backup strategy for program files on different media.

Prior Knowledge & Skills

Students:

·         possess understanding of and can employ arrays, records, user-defined data types, random file access, dynamic data structures, and the algorithms of at least one sorting and one searching technique;

·         are able to implement a backup strategy for program files on different media.

Planning Notes

·         Approve proposals (Appendix 1.6.2) if projects conform to requirements (Appendix 1.7.1).

·         Develop a list of alternate topics for students.

Note: The example detailed in Appendix 1.7.1 involves the use of personal data. This presents several problems including issues of freedom and privacy of information. Unless your school has protocols and safeguards in this area, it would be advisable to use one of the other possible problems from the list of suggestions that does not involve personal data about students or develop fictional data.

Teaching/Learning Strategies

·         The teacher addresses problems encountered in work on dynamic data structures from Activity 6.

·         The teacher informs students about approved project topics and helps students whose projects do not meet the requirements select the problem they feel most comfortable with.

·         The teacher specifies the requirements and instructs students to follow the software development life cycle model: problem analysis, including a requirements specification, algorithm design, program development and validation, software installation, and maintenance). The cyclical nature of software development and the necessity of solution planning, development, and validation are emphasized. Students provide evidence of their systems analysis and algorithm development (e.g., pseudocode or flowchart). (See Appendix 1.7.1 and Appendix 1.7.2 for details.)

·         The teacher chooses fragments of The Catechism of the Catholic Church (Section II, The Common Good, and Section III, Responsibility and Participation) to reflect on the concept of a responsible citizen and relate to the views of the Church on man’s participation in social life (suggested: 1905, 1912, and 1913) at www.vatican.va/archive/catechism/p3s1c2a2.htm#II.

·         At the end of the activity, the teacher underlines ethical issues concerning the use of databases.

Assessment & Evaluation of Student Achievement

·         Students submit their solution for summative evaluation using a rubric (Appendix 1.7.3).

Accommodations

·         Allow students to present some components orally (e.g., the requirements specification).

Resources

Selected Problem-Solving Resources

Hume, J.N.P. Problem Solving and Programming in Turing. Toronto: Holt Software Associates, Inc., 1993. ISBN 0-921598-16-5

Kitto, Richard J. Computers and Problem Solving, A Case Study Approach. Toronto: McGraw-Hill Ryerson, Ltd., 1989. ISBN 0-07-549826-X

Stephenson, Chris. Teaching Problem Solving and Design
– http://www.holtsoft.com/chris/PS&Design.pdf

Hints for Problem Solving – http://www.cps.enel.ucalgary.ca/judging/hints.htm

Coding Standards Resources

Draft Java Coding Standard – http://g.oswego.edu/dl/html/javaCodingStd.html

Netscape’s Coding Standards for Java – http://developer.netscape.com/docs/technote/java/codestyle.html

Recommended C Style and Coding Standards
– http://www.doc.ic.ac.uk/lab/secondyear/cstyle/cstyle.html

Visual Basic Programming Standards – http://www.gui.com.au/jkcoding.htm

For user-defined data types, random access, and dynamic data structure, see Resources, Activities 3
and 4.


Appendix 1.1.1

Fact Finding Techniques

 

These techniques are often used to gather facts regarding an existing system of work and/or situation.

1.   Observations
This method may expose features currently overlooked or taken for granted, such as environmental issues, normal levels of supervision and control, flow of work, bottlenecks of workflow, pace and level of normal workload, and peak loads. It may be time consuming but at times may be the only way to collect data. Use of this method depends on the length of the activity and the skill of the observer.

2.   Interviews
There are three distinct stages in this method of data collection. The first phase is the planning of the interview, which involves a clear identification of the purpose of the interview, the time needed for the interview, and obtaining proper authorization for doing the interview. The second phase is to carry out the interview, which involves:

·         providing the interviewee with a clear introduction and explanation of the purpose of the interview;

·         conducting the interview with good manners;

·         controlling and redirecting the flow of the interview;

·         asking the appropriate questions;

·         being attentive to the body language of the interviewee.

·         The third phase is to end the interview on time and request for a subsequent meeting if the interview has not been completed within the agreed-upon time limit. Minutes of the meeting should be promptly provided to the interviewee to check for correct understanding and interpretation of the answers provided.

3.   Questionnaires
This technique is used when a personal interview is not possible due to time, cost or distance factors. It is more structured and formal than an interview and requires careful planning in formulating a mixture of open-ended and closed unambiguous questions. A carefully planned questionnaire is a useful tool.

4.   Background Reading
This technique involves gathering information from literature published by the workplace in question and provides information about the organization without the need to engage any personnel. Useful literature can be administration procedure manuals, training manuals, memoranda, job descriptions/specifications, and sales literature.

5.   Special-Purpose Record Keeping
This method is used to gather information that is not routinely available or kept in any manner, such as information on frequency and time interval of an event, volumes, and trends. The most effective ones do not involve extra workload for the person collecting the data.

6.   Analysing Documents
This method analyses the formal flow of information in the organization. It provides information on documents being circulated; when a document is created, amended, and deleted; the meaning, size, format, and source of the document; and its filing sequence.

 


Appendix 1.1.2

Ergonomics Report Format

 

1.   Introductory Paragraph:  Students clearly state the purpose of the activity and the report, demonstrating a clear understanding of the value and purpose of good ergonomics in the workplace for workers’ health benefits and for increased productivity in the long run.

2.   Methodology:  Students clearly outline the number of members in the group, the actual workplace observed, the time taken to observe and fill out questionnaires, difficulties encountered and how they were overcome, and the overall cooperation of the entire group. Students use the technique of observation and questionnaires to collect facts on the current ergonomic situation in the particular workplace. Students illustrate their understanding and application of the two techniques and, where applicable, add other techniques they deem necessary for collecting data otherwise inaccessible.

3.   Summary of Findings:  Students outline the means used to summarize the data into meaningful statistics. Students describe their findings regarding all observed categories as outlined in the VDT Posture Checklist (see Resources).

4.   Recommendations:  Using literature provided to them in the package, students make recommendations for improving the ergonomic setting of the observed workplace or give reasons to support and maintain the status quo if the ergonomic settings already meet recommended criteria.

5.   Appendix A:  Students return all completed checklists, evaluation forms, and questionnaires.

6.   Appendix B:  Students return the professionalism checklist after it is filled out by personnel.

Appendix 1.1.3

Professionalism Checklist (to be filled in by the employee at the workplace being observed)

Item

Yes

No

Students arrived on time.

 

 

Students had proper attire (e.g., full uniform where applicable).

 

 

Students observed without interrupting daily work routine.

 

 

Students asked questions at appropriate times and rescheduled for another moment if inappropriate.

 

 

Students asked questions courteously.

 

 

Students made good use of the time.

 

 

Students left at the agreed-upon time.

 

 

Appendix 1.1.4

Ergonomics Report Checklist

Item

Yes

No

Students provide a clear explanation of the purpose of good ergonomics in the workplace.

 

 

Students describe the value of observation and fact-finding in relation to ergonomics.

 

 

Students have completed and returned checklists, evaluation forms, and questionnaires.

 

 

Students summarize their findings.

 

 

Students analyse the information provided by the various tools.

 

 


Appendix 1.2.1

Grade 11 Expectations – Arrays

TFV.03 - explain standard control and data structures used in computer programs;

TF2.05 - define the structure of one- and two-dimensional arrays and associated concepts (e.g., subscripts, elements, and bounds);

SP1.03 - select suitable data structures to represent information;

SP1.07 - solve the same problem using various tools (e.g., a calculator and a computer program, a sort program and a spreadsheet/database/word processor sort function);

SP2.02 - incorporate one-dimensional and two-dimensional arrays into computer programs;

SP2.03 - write programs that use related arrays to store and extract data;

SP2.10 - incorporate and maintain internal documentation to a specific set of standards;

SP2.14 - trace program execution using manual methods and software debugging tools;

SP2.15 - identify and correct logic, runtime, and syntax errors in programs;

SP2.16 - use linear searches and simple sort routines in programs.

 

Appendix 1.2.2

Tournament Questions and Answers

TFV.03 – explain standard control and data structures used in computer programs.

Sample Questions

·         Give students a piece of code or pseudocode that uses a counted loop to populate an array and ask students to explain what the code or pseudocode is doing.

·         Give students problems to solve that involve the use of repetition, ‘if’ statements, and arrays. Allow students to use only pseudocode (e.g., input 10 students’ names and marks; calculate the average mark; compare each student’s mark with the average; output whether the student is above average or not).

 

TF2.05 – define the structure of one- and two-dimensional arrays and associated concepts (e.g., subscripts, elements, and bounds).

Sample Question

·         Display a visual representation of an array. Ask for specific elements at specific index positions, ask for the index position of an element in the array, or ask for an element that is out of bounds of the array (e.g., an array of letters called scrabble):

Index

1

2

3

4

5

6

7

8

9

Element

A

D

T

S

E

N

O

H

L

Examples

·         Ask students to spell a word using array indices (e.g., EAT is scrabble(5)+ scrabble(1) + scrabble(3)).

·         Students find the missing letters of a word from the array. They form the word by giving the correct index position of each letter taken from the array (e.g., _ R _ _ _ A _; answer 1, 4, 5, 6, 9 to form the word ARSENAL).

·         Ask for the letter at index 10 or index 0 to test students’ knowledge of array bounds.

·         Provide a number and ask students to form a word out of the index positions that add up to the number (e.g., 11 can be formed by 2+1+3+5; with these indices, the word DATE is formed).


Appendix 1.2.3

Group Total Score Tally Sheet

 

Group Name:

Members’ Names

Individual Score

 

 

 

 

 

 

 

 

Total Score:

 

 

Appendix 1.2.4

Individual Score Tally Sheet

 

Name:

Station

Score

Explain and Define (use of counted loop, the structure of an array and its usage)

 

One-dimensional Array (declaration, population, bounds, indices, elements, suitability to problem, suggesting alternate solution with other tools)

 

Two-dimensional Array (declaration, population, bounds, indices, elements, suitability to problem, suggesting alternate solution with other tools)

 

Related Arrays (usage, application to problems)

 

Sorting Algorithms

 

Searching Algorithms

 

Manual Walkthrough

 

Debugging

 

Total Score:

 

 

Appendix 1.2.5

A Formative Assessment Programming Assignment

Choose an appropriate data structure (one-dimensional array, related lists of multiple one-dimensional arrays, or multi-dimensional arrays) to solve each of the following questions:

·         Calculate the midterm average of a class of 20 students

·         Print out the top three students of a class of 20 students, showing names, student IDs, and grades.

·         Your teacher wants to let students write a test as many times as they wish. The mark that the student receives is the average mark of all the attempts. Design a system that keeps track of the student name, the number of attempts at the test, and the marks obtained at every attempt, so the average can be calculated at the end.

 


Appendix 1.3.1

Array Storage Scenarios

Scenario 1:  Maintain a list of site names and corresponding URLs (e.g., Ontario Ministry of Education, http://edu.gov.on.ca).

Scenario 2:  Maintain a list of sites and numbers of hits (e.g., Ontario Ministry of Education, 425 000).

Scenario 3:  Maintain a list of site names, URLs, and numbers of hits (e.g., Ontario Ministry of Education, http://edu.gov.on, 425 000).

Appendix 1.3.2

Presentation Checklist

Item

Yes

No

The solution includes a user-defined data type.

 

 

The user-defined data type meets the requirements of the problem.

 

 

The use of the user-defined data type reflects a clear understanding of the concept.

 

 

The problem is better solved with the user-defined data type.

 

 

There is an array of the user-defined data type.

 

 

The dimension of the array meets the requirements of the problem.

 

 

The size of each dimension of the array is appropriate for meeting the problem requirements.

 

 

The array is populated correctly using a counted loop with the user-defined data type.

 

 

The elements of the array are accessed correctly with the use of array indices.

 

 

The members of each array element are accessed correctly with dot notation and the index.

 

 

The use of the array reflects a clear understanding of the concept of arrays of records.

 

 

The problem is better solved with an array of a user-defined data type.

 

 

Appendix 1.4.1

Mini-Project Peer Assessment Checklist

Project Title:                                                  Group Members:

Task

Needs Improvement

Comments

1.   Proper structure of user-defined data type

 

 

2.   Appropriate use of field data types

 

 

3.   Effective use of string field lengths

 

 

4.   Efficient and clear code development

 

 

5.   Proper code modularization

 

 

6.   Properly working code for:

 

 

      a)   creating records

 

 

      b)   reading records into variables

 

 

      c)   writing variables to records

 

 

      d)   adding records

 

 

      e)   deleting records

 

 

7.   Naming convention followed

 

 

8.   Brief and informative internal documentation

 

 


Appendix 1.4.2

Decree on the Media of Social Communications

Inter Mirifica, a Decree on the Media of Social Communications, was written in 1963, long before the mass storage of digital information which exists today. The decree focuses on information about individuals and its handling in the communications media of the day. In several paragraphs describe how the concerns expressed in Inter Mirifica could be applied to the storage of information about individuals.

Appendix 1.5.1

Internet Career Links

1. Career Links

Career Gateway – www.edu.gov.on.ca/eng/career/        Career Cruising – www.careercruising.com

Top 100 Internet Sites for Learning and Employment – http://www.jobboom.com/conseils/top-100.html

Bridges – http://cx.bridges.com/                                     Youth Resource Network – www.youth.gc.ca/

Mazemaster – www.mazemaster.on.ca  WRDSB Guidance/Career Ed – http://guidance.wrdsb.edu.on.ca/

Humber Library/Media Services – http://www.library.humberc.on.ca/RSC_Inet/RSC_Lnks/wls.html

Canadian Education on the Web – http://www.oise.utoronto.ca/~mpress/eduweb/eduweb.html

2. Job Banks

Human Resources Development Canada Job Bank – http://jb-ge.hrdc-drhc.gc.ca/

Canadian Jobs – www.kenevacorp.mb.ca                       National – www.ijive.com/canada/jobbanks.htm

3. Newspapers and Magazines

Links to Canadian Newspapers and Magazines – http://www.journalismnet.com/papers/canada.htm

http://www-2.cs.cmu.edu/Unofficial/Canadiana/CA-zines.html

Globe and Mail – http://globecareers.workopolis.com/      Toronto Star – http://thestar.workopolis.com/

The National Post – www.nationalpost.com/                   Toronto Sun
– www.fyitoronto.com/torsun.shtml

4. College and University Links

Association of Canadian Community Colleges (ACCC) – http://www.accc.ca/

Canadian Colleges and Universities – http://www.mit.edu:8001/people/cdemello/ca.html

Canadian Colleges Directory – http://www.campusaccess.com/campus_web/educ/e3coll_canc.htm

Directory of Canadian Universities – http://www.aucc.ca/en/acuindex.html

INFO Guide to Ontario Universities – http://www.ouac.on.ca/info/index.htm

Ontario’s Colleges Career Path – http://www.careers.ocas.on.ca/index2.html

5. Subject Directories (selected resources)

Librarians’ Index to the Internet – http://lii.org/                Ask Jeeves – http://askjeeves.com

6. Search Engines (comprehensive databases)

AltaVista – http://altavista.com                                       Excite – http://www.excite.com

Canadian Search Engines – http://www.journalismnet.com/canada/searchengines.htm

Webcrawler – http://www.webcrawler.com                    Yahoo – http://www.yahoo.com

7. Meta Search Engines (search multiple engines at once)

IxQuick – http://ixquick.com                                           MetaCrawler – http://metacrawler.com

8. Search and Internet Use Information

Introduction to Search Engines – http://www.kcpl.lib.mo.us/search/srchengines.htm

Searching the Internet – http://lii.org/search/file/search

Comparing Web Search Tools – www.hamline.edu/administration/libraries/search/comparisons.html

Canadian Strategy to Promote Safe, Wise and Responsible Internet Use – www.aucc.ca/en/acuindex.html


Appendix 1.5.2

Student Career Research Worksheet

 

Occupation:                                                                            Date:  

Group Members:

Detailed description of the profession

Related professions

New emerging information storage and retrieval occupations

 

 

 

Name of postsecondary educational institutions that offer a program in the profession and their locations

 

 

Program description

Admission requirements and program of study

Future job prospects and possible places of employment

Samples of job offers in the profession

 

 

 

 

Job requirements and future changes

 

Appendix 1.5.3

Presentation Summary Worksheet

 

Name:

Date:

Occupation description

Educational institutions offering the program

Program description

Admission requirements

Program of study

Job prospects and requirements

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Appendix 1.5.4

Rubric for Postsecondary Opportunities in Information Storage/Retrieval Professions

 

Group Members:

 

Categories

Level 1
(50-59%)

Level 2
(60-69%)

Level 3
(70-79%)

Level 4
(80-100%)

Thinking/ Inquiry

IC3.01
Selection of research materials

- demonstrates limited ability to select appropriate research resources and identify educational opportunities

- demonstrates moderate ability to select appropriate research resources and identify educational opportunities

- demonstrates considerable ability to select appropriate research resources and identify educational opportunities

- demonstrates thorough ability to select appropriate research resources and identify educational opportunities

Analysis and interpretation of material

- analyses and interprets information with little effectiveness

- analyses and interprets information with moderate effectiveness

- analyses and interprets information with considerable effectiveness

- analyses and interprets information with a high degree of effectiveness

Drawing conclusions

- shows limited ability to identify learning requirements and draw conclusions

- shows some ability to identify learning requirements and draw conclusions

- shows significant ability to identify learning requirements and draw conclusions

- shows a high degree of ability to identify learning requirements and draw conclusions

Communication

ICV.03.
Clarity and effectiveness

- identifies and communicates information with limited clarity and effectiveness

- identifies and communicates information with moderate clarity and effectiveness

- identifies and communicates information with considerable clarity and effectiveness

- identifies and communicates information with a high degree of clarity, effectiveness, and confidence

Use of communication forms

- demonstrates limited command of the various forms of communication

- demonstrates moderate command of the various forms of communication

- demonstrates considerable command of the various forms of communication

- demonstrates extensive command of the various forms of communication

Note: A student whose achievement is below Level 1 (50%) has not met the expectations for this assignment or activity.


Appendix 1.6.1

Dynamic Data Structures Worksheet

 

Sources used

Dynamic data structures researched

Possible general applications of data structures

Concepts that posed problems in understanding

 

 

 

 

 

 

 

 

 

 

 

 

 

Commented Code or Algorithm for Sample Use of Dynamic Data Structures:

 

 

 

 

 

 

Appendix 1.6.2

Unit-End Project Proposal

Suggested project
(name, title)

Purpose

Proposed fields in a database record

Processing to be conducted on the database

What dynamic data structures are applied to the project and how?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Appendix 1.7.1

User-Defined Data Types and Data Structures Unit Project

 

A. Instruction: Develop a solution to your proposed problem, which has been approved by or selected with the teacher. Example problem: Develop a database of students in your school. Each record includes multiple fields (e.g., Student ID, Last Name, First Name, Address, Date of Birth, Homeroom, Enrolment Date, Timetable, Courses Completed.

 

Other possible problems:

1.   Database of a sports team or a subject club

2.   Database of collectibles

3.   Equipment inventory database (e.g., computer equipment inventory)

4.   Movie database

5.   Database of countries and regions

6.   Alumni database

7.   Subject database (e.g., database of rocks and minerals in a geology classroom)

B. Project Requirements: Each of the projects must include the following:

1.   a user-defined data type, records, record data types, arrays, arrays of records, random file access, and a dynamic data structure;

2.   a file with initial 20 records;

3.   more than five fields in a record;

4.   sorting and searching of the database based on the user-specified key (each solution must include at least three different keys);

5.   retrieval of records from a file based on a search criterion or location of a record in the file;

6.   number of records in a file must be displayed after each run or update of the database;

7.   appending the file, updating records, deleting and inserting records.

 

 

Appendix 1.7.2

Programming Standards and Conventions: Interface, Coding Standards, Documentation,
                                                                                                            and Program Testing

A. User Interface:  Interface design and layout are logical, user friendly, easy to follow, readable, and well balanced.

B. Coding Standards:  Follow proper code-writing conventions developed for the programming language of your solution. Include proper naming and code indentation.

C. Internal Documentation:  Your code must include internal documentation with a header in the form of a comment at the top. Entries must be aligned properly. The header must include: project title, programmer's name, instructor’s name, course code and name, school, software used, hardware used, due date, completion date, and program description. Major structures and segments of the code must be documented with comments indicating their role in the program.

D. Program Testing:  Test your program thoroughly. Test your solution for extreme data and other data types. Anticipate entries from the user. Ask your peers to test your program before submission.


Appendix 1.7.3

Rubric for User-Defined Data Types and Data Structure Project

 

Categories

Level 1
(50-59%)

Level 2
(60-69%)

Level 3
(70-79%)

Level 4
(80-100%)

Thinking/Inquiry

The student:

 

 

 

SP1.06 - design algorithms to incorporate data structures in projects

- designs algorithms with limited application of data structures

- designs algorithms with moderate application of data structures

- designs algorithms with considerable application of data structures

- designs algorithms with a thorough application of data structures

Application

The student:

 

 

 

SP2.02 (Programming Practices) - employ user-defined data types and record data types to improve program efficiency

- employs user-defined data types and record data types to improve program efficiency with limited effectiveness

- employs user-defined data types and record data types to improve program efficiency with moderate effectiveness

- employs user-defined data types and record data types to improve program efficiency with considerable effectiveness

- employs user-defined data types and record data types to improve program efficiency with a high degree of effectiveness

SP2.03 (Programming Practices) - use arrays, records, and arrays of records in different project settings

- employs arrays, records, and arrays of records in different project settings with limited effectiveness

- employs arrays, records, and arrays of records in different project settings with moderate effectiveness

- employs arrays, records, and arrays of records in different project settings with considerable effectiveness

- employs arrays, records, and arrays of records in different project settings with a high degree of effectiveness

SP3.01 (Hardware, Interfaces, and Networking Systems) - implement a backup strategy for program files on different media

- implements backup strategy on media with limited effectiveness

- implements backup strategy on media with some effectiveness

- implements backup strategy on media with considerable effectiveness

- implements backup strategy on media with a high degree of effectiveness

Programming Standards and Conventions - user interface, coding standards, internal documentation, program testing

- follows programming standards and conventions to a limited degree

- follows programming standards and conventions to some degree

- follows programming standards and conventions to a considerable degree

- follows programming standards and conventions to a high degree

Note: A student whose achievement is below Level 1 (50%) has not met the expectations for this assignment or activity.

 

Overview | Unit 3 | Course Profiles Main Menu