Unit 4: Experience with Programming and Design - Advanced
Suggested Time: 50-65 hours
Foundational Objective
Common Essential Learnings Foundational Objective
| Learning Objectives | Notes | |
|---|---|---|
|
Demonstrate an understanding of the way that programs work with the language of the course including:
|
In most cases, the students will demonstrate their understanding of the concepts and processes through programming projects.
An instructor may choose to combine several concepts within a project. It may be appropriate to present a programming problem and introduce the appropriate techniques as tools to help in the solution. |
|
| 4.2 |
Demonstrate an understanding of the variable types in the language including:
|
It will help students understand the variable types in the new language if they are compared to the ones in the CS 20 language. Differences and similarities in the functions and reserved names should also be identified. |
| 4.3 |
Demonstrate an understanding of the expressions and functions of the language, including:
|
|
| 4.4 | Write documentation for programs. (COM) |
Three types of documents could be considered.
(Include proper internal documentation, remarks, in all programs.) Peer testing and evaluation of programs and documentation is very valuable. Often the person who writes a program will be surprised at "obvious" things that new users will miss, and the "crashes" they may cause. Bringing in testers from another class can be an interesting variation of this approach. |
| 4.5 | Demonstrate facility with the input and output processes of the language. | Good formatting style and proper prompting and error checking must be assessed. |
| 4.6 | Demonstrate an understanding of top-down program design and the use of modules or sub-programs within programs. | A student assignment may be to make procedures to fit a program body provided by the instructor. A more rigorous approach would require the students to leave the program body untouched, only adding procedures. |
| 4.7 | Demonstrate an understanding of decision making and recursion in programs. |
Boolean expressions and logic must be used
.
|
| 4.8 | Demonstrate understanding of and facility with single and multi-dimensional arrays with data structures, including searching and sorting. | The record variable type should be introduced during the study of arrays, if the language supports it. |
| 4.9 |
Demonstrate understanding of the use of files from within a program including:
|
Individual assessment using a checklist would be possible. |
Unit 5: Number Systems and Codes (Optional)
Suggested Time: 5-8 hours
Foundational Objective
Common Essential Learnings Foundational Objective
| Learning Objectives | Notes | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 5.1 |
Demonstrate an understanding of the ASCII code, as follows:
|
An activity where students discover the characters that match the ASCII code numbers through the direct use of the CHR$( ) (or the language equivalent) function can be a good way to introduce this topic. It should not take students long to figure out that a program will do the task for them more easily. Beware of low numbers; any below 13 will not return anything. | ||||||||||||
| 5.2 |
Use ASCII codes appropriately in a program, as follows:
|
An assessment of the program should reveal these codes. | ||||||||||||
| 5.3 |
Demonstrate an understanding of the base two number system as follows: (NUM)
|
Counting binary on fingers is a good introduction to the base 2 number system. To do this, with palms towards the face, each finger is given a place value. The left thumb = 2 0 (1), the left index finger = 2 1 (2), the left middle finger =2 2 (4) , the left ring finger =2 3 (8), …… right thumb = 2 9 (512). When a finger is bent its value is 0; when it is straight, it has the exponential value. The example below shows 578.
|
||||||||||||
| 5.4 |
Demonstrate an understanding of the base sixteen number system as follows:
|
The hexadecimal number system is useful in computer science because a 2 digit ("hexit") hex number represents a byte. The first 4 bits are the first hexit and the last 4 bits are the second. | ||||||||||||
| 5.5 | Create a program that will input values in decimal, binary or hexadecimal format and output the value in the other two. (NUM) | |||||||||||||
Unit 6: Impact of Information Technology
Suggested Time: 3-5 hours
Foundational Objective
.Common Essential Learnings Foundational Objective
| Learning Objectives | Notes | |
|---|---|---|
| 6.1 |
Describe the nature and growth of computer science.
|
Students need to know about the history of hardware and software development.
There are many interesting stories and case studies from the past, for example:
|
| 6.2 | Describe the growing importance of information, comparing industrial and post-industrial societies. |
Students will be familiar with the role of information as a commodity.
These topics may have been covered in other courses; but there are many opportunities for integration with other subjects. Discuss this with your colleagues. Search the Evergreen curriculum. |
| 6.3 | Appraise the economic effects of computer applications. |
Students need to be familiar with the effects on:
|
| 6.4 | Appraise the effects of computer technology on society. (PSVS, COM) |
Exploration of this topic may provide opportunities for guests to visit the class and exchange information and opinions with students.
Students need to be familiar with the effects on:
|
| 6.5 | Appraise the political effects of computer technology. |
Students need to be familiar with the effects on:
|
| 6.6 | Defend personal positions on the appropriate role of computer technology in future society. |
Student debates can be a good vehicle for exploring this learning objective.
It might be interesting to do an online discussion, perhaps with expert(s) or another group of students. |