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.
|
Activity |
Time |
Learning Expectations |
Assessment Categories |
Tasks |
|
1.1 |
2.5 hours |
IC2.04 CGE2c |
Knowledge/
Understanding Communication |
Students observe
computer ergonomics in the school. |
|
1.2 |
3 hours |
TFV.02, TF1.03,
SP1.06 CGE5a, 5e |
Thinking/ Inquiry Application |
Students review
and improve data structure skills. |
|
1.3 |
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 |
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 |
3 hours |
ICV.03, IC3.01 CGE4g |
Knowledge/
Understanding Communication |
Students
investigate and share information about computer and information-science
related careers. |
|
1.6 |
3 hours |
TFV.02, SP2.11 CGE4f |
Thinking/ Inquiry |
Students explore
new skills based upon data structures. |
|
1.7 |
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. |
Time: 2.5 hours
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.
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.
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.
·
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).
·
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.
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.
·
Plan easily accessible
locations for observation.
·
Provide a variety
of alternatives in presenting information.
·
Continue to
develop a glossary of key words and phrases.
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
Time: 3 hours
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.
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.
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.
·
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.
·
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.
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).
·
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.
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
Time: 3.5 hours
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.
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.
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.
·
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.
·
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.
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.
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
Time: 4 hours
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.
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.
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.
·
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).
·
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)
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.
·
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.).
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
Time: 3 hours
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.
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.
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.
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).
·
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.
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).
·
For enrichment,
students explore emerging professions and speculate on future developments.
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
Time: 3 hours
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.
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.
Students:
·
possess knowledge
of single- and multi-dimensional arrays, and user-defined data type;
·
can use selected
sorting and searching algorithms.
·
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.
·
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).
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).
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
Time: 6 hours
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.
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.
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.
·
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.
·
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.
·
Students submit
their solution for summative evaluation using a rubric (Appendix 1.7.3).
·
Allow students to
present some components orally (e.g., the requirements specification).
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.
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.
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.
|
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. |
|
|
|
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. |
|
|
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.
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).
Group Name:
|
Members’ Names |
Individual Score |
|
|
|
|
|
|
|
|
|
|
|
|
|
Total Score: |
|
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: |
|
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.
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).
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. |
|
|
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 |
|
|
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.
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
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 |
Name:
Date:
|
Occupation description |
Educational institutions offering the program |
Program description |
Admission requirements |
Program of study |
Job prospects and requirements |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Group Members:
|
Categories |
Level 1 |
Level 2 |
Level 3 |
Level 4 |
|
Thinking/
Inquiry IC3.01 |
- 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. |
- 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.
|
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:
|
Suggested project |
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? |
|
|
|
|
|
|
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.
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.
|
Categories |
Level 1 |
Level 2 |
Level 3 |
Level 4 |
|
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