Resources

advertisement
Course Profiles
Public and Catholic District School Board Writing Partnerships
Technological Education
Course Profile
Computer Engineering
Grade 12
University/College Preparation
ICE4M
 for teachers by teachers
This sample course of study was prepared for teachers to use in meeting local classroom
needs, as appropriate. This is not a mandated approach to the teaching of the course.
It may be used in its entirety, in part, or adapted.
Spring 2002
Course Profiles are professional development materials designed to help teachers implement the new
Grade 12 secondary school curriculum. These materials were created by writing partnerships of school
boards and subject associations. The development of these resources was funded by the Ontario Ministry
of Education. This document reflects the views of the developers and not necessarily those of the
Ministry. Permission is given to reproduce these materials for any purpose except profit. Teachers are
also encouraged to amend, revise, edit, cut, paste, and otherwise adapt this material for educational
purposes.
Any references in this document to particular commercial resources, learning materials, equipment, or
technology reflect only the opinions of the writers of this sample Course Profile, and do not reflect any
official endorsement by the Ministry of Education or by the Partnership of School Boards that supported
the production of the document.
© Queen’s Printer for Ontario, 2002
Acknowledgments
Public and Catholic District School Board Writing Teams – Grade 11 Computer Engineering (ICE)
This profile is the result of a collaborative effort between the Institute for Catholic Education and the
Halton District School Board.
Public Lead Board
Halton District School Board
Aldo Cianfrini (Project Manager)
Writing Team
Richard Bonafede, Peel District School Board (Lead Writer)
Brad North, Peel District School Board
Hans van Wijk, Halton District School Board
Review Team
Angela Elksnitis, Mohawk College lecturer – A+, Network Specialist
Derek Murphy, Industry Rep – A+, Network Specialist, Engineering Degree-Ryerson Polytechnic
University
Catholic Lead Board
Ottawa Carleton Catholic District School Board
Michael Scott (Project Manager)
Writing Team
Graham Smyth, Chatham Catholic District School Board, retired (Lead Writer)
Peter Fujiwara, Dufferin-Peel Catholic District School Board
Chuck Deighton, Ottawa Carleton Catholic School Board
Review Team
Robert Allison, Academic Coordinator, Computer Studies Department, Algonquin College, Ottawa
Brian Bond, President, Systems Medic, Newmarket, Ontario
Sandy Dobec, Ottawa Carleton Catholic School Board (Theological Reviewer)
 Computer Engineering – University/College Preparation
Course Overview
Computer Engineering, ICE4M, Grade 12, University/College Preparation
Policy Document: The Ontario Curriculum, Grades 11 and 12, Technological Education, 2000.
Prerequisite: Computer Engineering, Grade 11, University/College Preparation or
Computer and Information Science, Grade 11, University/College Preparation
Course Description
This course helps students understand and apply computer-engineering concepts. Students will analyse
and design computer components, such as logic circuits and interfaces; develop and construct systems
and write the associated computer programs to drive real-world devices, such as traffic lights, models,
and robots; and explore networking hardware, protocols, and configurations. As well as developing
project-management skills, students will examine the ethics of computer use and explore related
educational requirements and careers.
How This Course Supports the Ontario Catholic School Graduate Expectations
The purpose of Computer Studies in the Catholic faith community is to enable young adults to develop
and utilize their gifts and resources to find solutions and develop ideas and concepts that benefit others in
a way that models gospel values. The focus of the curriculum is to enable students to become critical and
innovative problem-solvers who question the use of human and physical resources as well as understand
the implications of computers and related innovations. An emphasis on problem-solving models helps
students create solutions that recognize our God-given responsibility to respect the dignity and value of
the individual, to protect the environment, and to use the world’s resources ethically and morally.
Ethical issues discussed in this course may include:
 intellectual property rights and illegal copying of software;
 reverse engineering;
 creation and distribution of viruses;
 plagiarism;
 sexual harassment/discrimination in the workplace;
 computers and privacy;
 protecting children on the Internet;
 responsible research;
 work and family;
 impact of information technology on the developing world;
 working conditions in information technology companies;
 environmental impact of technology industries.
Course Notes
Future
This course prepares students for further study in university or college computer programming,
networking, electronics, and computer engineering programs. This course also provides foundation skills
and knowledge for a wide variety of careers at the technician, technologist, engineer, and scientist levels.
The combination of theory, practical experience, and exploration of career options specific to each
activity (i.e., computer technician, technologist, and engineer) helps students complete and refine their
Annual Education Plan.
Page 1
 Computer Engineering – University/College Preparation
Background
Students enter this course from either an ICS3M or ICE3E background. The ICS students have more
programming experience and as a result are better prepared for the interface programming in Unit 5 and
the study of low-level programming in Unit 4. The ICE students have more background in number
theory, networking, and hands-on interfacing. Both groups bring unique perspectives to the course.
Creative groupings can enhance learning for each group.
Activities
Each unit begins with fundamental concepts and progresses through directed activities to open-ended
assignments and case studies. The course expectations are grouped into five units. In the culminating
activity in Unit 5, students design, build, and operate a complete interfacing system using knowledge
from the previous activities. This background includes knowledge from Unit 1 where students study
hardware communication at the register level in the Central Processing Unit. This Unit provides the
hardware fundamentals for the later low-level programming unit as well as the culminating Unit 5. The
networking from Unit 2 relies on the hardware knowledge from Unit 1 and helps the students with
background knowledge for hardware communication studied in Unit 5’s interfacing. The integrated
circuit theory and activities from Unit 3 study individual electronic components that are the foundation
for the interface itself to be built in the culminating Unit 5. Unit 4, low-level programming activities,
again builds on the hardware experiences from Unit 1 and develops relationships with high-level
programming used in Unit 5. The course culminates in Unit 5 where hardware, integrated circuits, and
programming are brought together in the designing, building, and operating of complete interfacing
systems.
Portfolio
A daily log or electronic journal is a useful tool for students to practise their writing skills and increase
their knowledge of computer-related terminology. Precise definitions of computer-related terminology
and vocabulary work are a primary focus throughout the course. The journal may be used for ongoing
activities as part of a terminology database, computer career database, computer terminal log, and/or
creation of a student portfolio for exemplary work. On a continual basis, students individually or jointly
as a class add new knowledge to their portfolio. The portfolio is especially important for summative
activities that are concentrated in the last activity of each unit. The use of journals also encourages
students to examine and to reflect on their learning and on their Catholic values, abilities, and
aspirations; to monitor their progress; and to set goals.
Hardware
Students should have access to a network of computers that are not attached to the main school system in
order to avoid conflicts. However, students also require access to computers that are part of the main
system for research and some software application tasks. The classroom facilities should allow students
to design, disassemble, and assemble a variety of electronic circuits and computer hardware systems.
Access to stand-alone computers for testing and interface programming is recommended. These
computers can also be used when building networks in Unit 2. The community is an ideal source of used
equipment. Specific community sources include large manufacturers, businesses, and computer-leasing
companies. Also, the Computers For Schools program is a source for inexpensive computer systems.
Safety
Most units involve hands-on work with live electronic devices. A focus on safe technical practices is
required and safe operating procedures should be reviewed on a continuous basis. The use of safety tests,
signed safety agreements, and/or safety passports is highly recommended.
Handling computer hardware, such as networking components in Unit 2, integrated circuits in Unit 3, and
interfacing systems in Unit 5, requires that students be taught appropriate health and safety guidelines.
Page 2
 Computer Engineering – University/College Preparation
Also, teachers should develop appropriate strategies to avoid potential health and safety problems
associated with computer use, such as eye strain (e.g., classroom lighting, screen glare) and typing issues
(e.g., keyboard heights, carpal tunnel syndrome).
Acceptable Use Policy (AUP)
Before beginning the course and throughout activities involving research and publishing, teachers should
review the school board’s AUP or equivalent regarding appropriate student use of computers, as well as
rules regarding access to Internet services. Ethical considerations, such as legal software licences and
suitable websites, are addressed throughout the course when appropriate.
Units: Titles and Time
Unit 1
Hardware: Personal Computer Architecture
Unit 2
Networking
* Unit 3 Digital Logic and Electronic Circuits
* Unit 4 Computer Programming
Unit 5
Computer Interfacing
* These units are fully developed in this Course Profile.
14 hours
16 hours
25 hours
20 hours
35 hours
Unit Overviews
Unit 1: Hardware: Personal Computer Architecture
Time: 14 hours
Unit Description
Computer architecture involves the micro-components of a computer and how they communicate with
one another. The main components are the microprocessor (CPU), memory, and busses. The microcomponents of the CPU that students examine include the internal registers and clock. Memory includes
different types of primary and secondary storage and how the bits of information are physically stored in
memory. Students discuss busses, including data and address busses, and how they connect the CPU
registers with internal memory. To help simplify the complex topic of computer architecture, memory
addressing is limited to a 64-K environment. Students evaluate computer and information systems as
ways to enhance the quality of life inclusive of all society.
Unit Overview Chart
Cluster
Learning Expectations
Assessment Categories
Focus
TFV.01, ICV.02
Knowledge/Understanding
Overview of computer
1
CGE2b, 2e, 3f
Communication
architecture
TF1.02
Knowledge/Understanding
Information storage – memory
2
CGE3c
Communication
TF1.03
Knowledge/Understanding
Registers in the CPU
3
CGE2b
Thinking/Inquiry
Communication
TF1.04
Knowledge/Understanding
Information flow between
4
CGE3c
Thinking/Inquiry
memory and CPU
Communication
SPV.01
Thinking/Inquiry
Internal and external storage
5
CGE3c
mechanisms
Page 3
 Computer Engineering – University/College Preparation
Unit 2: Networking
Time: 16 hours
Unit Description
Students apply networking concepts to design network configurations. The use of proper terminology
(e.g., logical and physical topologies, standards) and the development of effective solutions to given
situations are key components of this unit. Students create a computer network, select and configure
appropriate networking protocols, and then perform a variety of troubleshooting procedures. Students
learn about the importance of network connectivity and infrastructure and how networking impacts on
our world. Students explore potential career opportunities in the area of computer networking. Students
develop attitudes and values founded on Catholic social teaching and promote social responsibility,
human solidarity, and the common good.
Unit Overview Chart
Cluster
Learning Expectations
Assessment Categories
Focus
TF2.01, IC1.02, IC1.03
Knowledge/Understanding Identification and function of
1
CGE2b
Communication
network components
TF2.02, SPV.04
Knowledge/Understanding Understanding network
2
CGE2b
Thinking/Inquiry
topologies based on network
design principles
TF2.02, SP2.05
Knowledge/Understanding Network protocols:
3
CGE2b
Communication
understanding communication
on a network.
TFV.02, SP2.04, ICV.01
Communication
Network troubleshooting: case4
CGE2b, 3c, 4f
Knowledge/Understanding study approach to solving
network problems
Unit 3: Digital Logic and Electronic Circuits
Time: 25 hours
Unit Description
Students are challenged to integrate and assemble a digital “gaming wheel” circuit that incorporates a
clock circuit and two-state devices, which are commonly called “flip-flops.” Flip-flops make up the
building blocks for basic memory units used in sequential logic operations. They are used extensively as
the basis for digital memory storage and transfer, such as in registers. Initial activities are skill builders
through hands-on activities; students arrange simple logic to create R-S, D, and J-K flip-flops and
develop truth tables to understand their function. Students identify and hardwire circuits to create D, R-S,
and J-K flip-flops and develop truth tables. Students research and design a clock circuit that is used to
understand the shifting of data in response to timed clock pulses.
Unit Overview Chart
Cluster
Learning Expectations
Assessment Categories
Focus
SPV.02, SP1.02, SP1.05, SP1.06, SP1.07 Application
Non-clocked flip1
CGE2b, 2c, 3c
flops
TF1.05, SP1.03
Thinking/Inquiry
Clocked flip-flops
2
CGE2b, 2c, 3c
Application
TF1.05, SP1.03
Thinking/Inquiry
Shift registers
3
CGE2b, 2c, 3c
Application
Page 4
 Computer Engineering – University/College Preparation
Unit 4: Computer Programming
Time: 20 hours
Unit Description
Students are introduced to low-level programming by making comparisons with the more familiar highlevel programming. Concepts students need to understand in order to compare, trace, and write low-level
programs include registers, addressing techniques, flags, repetition, and decision structures. Since lowlevel programming contains no English-type words, reflective thinking and creative problem solving are
important. Students develop problem-solving and critical-thinking skills with the view of applying these
skills to global issues in the Catholic tradition.
Unit Overview Chart
Cluster
Learning Expectations
Assessment Categories
Focus
TF1.01, SP1.01
Application
Arithmetic in different
1
CGE2b, 3b, 3c
Communication
bases
TFV.04, TF3.01, TF3.03, ICV.03
Thinking/Inquiry
Comparing high- and
2
CGE2e, 3c
Communication
low-level constructs
TF3.01, TF3.02
Knowledge/Understanding Addressing techniques
3
CGE3c, 7e
Thinking/Inquiry
TF3.01, SP3.02
Application
Tracing low-level
4
CGE2b, 3c
Thinking/Inquiry
programs
TF3.01, TF3.02, SP3.03, IC1.05
Communication
Writing low-level
5
CGE2c, 4g, 7j
Knowledge/Understanding programs
Application
Unit 5: Computer Interfacing
Time: 35 hours
Unit Description
Previous computer interfacing projects involved designing and building an entire interfacing system.
Students wrote a computer program and built an interface to output data to a student-built peripheral. The
project is reviewed in Activity 1. This culminating unit builds on the student’s knowledge of outputting
data to now include receiving data from the peripheral and integrating the input/output. As well, along
with the background from the previous units, students have acquired a framework to study the impact and
consequences of the use of these technologies and to investigate their career choices. Students examine
the ethical and moral use of computer technology as well as career choices that reflect Catholic social
teaching and faith traditions.
Unit Overview Chart
Assessment
Cluster
Learning Expectations
Focus
Categories
TFV.03, TF2.02, TF2.03, SP2.01,
Communication
Investigating computerICV.01, ICV.03, IC1.03
Knowledge/
controlled systems
1
CGE3c
Understanding
Application
Thinking/Inquiry
SP1.04, SP2.03, SP3.01, SP3.04, IC1.06
Application
Inputting data from a
2
CGE2b
Communication
peripheral
Page 5
 Computer Engineering – University/College Preparation
Cluster
3
4
5
Learning Expectations
SPV.05, SP1.04, SP2.01, SP2.02, ICV.04,
IC1.04, IC1.05
CGE2e, 3d, 3f
SPV.03, SP2.03, SP3.01, SP3.04
CGE3c
ICV.02, IC1.01, IC1.02, IC1.03, IC1.04
CGE5d, 5h
Assessment
Categories
Application
Thinking/Inquiry
Communication
Application
Communication
Knowledge/
Understanding
Communication
Thinking/Inquiry
Focus
Designing an interfacing
system
Inputting and outputting
data from a peripheral
Social impact and career
opportunities
Teaching/Learning Strategies
The selection of strategies is directly related to the Achievement Chart categories:
Knowledge/Understanding
 Whole-group instruction: teacher- and/or student-led instruction to introduce new concepts and skill
development;
 Small-group instruction: peer led, conferencing, discussion, debate, presentation,
collaborative/cooperative;
 Individual: research, independent study.
Group instruction can be effectively used in Unit 1 where hardware expectations have moved to the
micro level. These expectations involve the central processing unit registers, internal memory
organization, and the busses that connect the CPU and memory. Group instruction might also be
appropriate to introduce low-level programming constructs in Unit 4. From group discussions, individual
hardware and programming projects can be developed.
Thinking/Inquiry
 Research;
 Presentation;
 Open-ended problem solving;
 Authentic tasks.
Problem solving is fundamental to all units. This includes hardware storage techniques of Unit 1,
network topologies of Unit 2, flip-flops of Unit 3, tracing low-level programs of Unit 4, and designing
interfacing systems of Unit 5. All units, especially Unit 5, lend themselves to open-ended authentic tasks.
Communication
 Presentations;
 Reports;
 Discussion;
 Oral presentations.
Discussions, formal reports, and presentations could be used in networking where features of a studentbuilt local network are reported. Reports and documentation are also fundamental components of the
culminating Unit 5.
Application
 Design projects;
 Technical reports;
 Computer programs;
 Creation of products.
Page 6
 Computer Engineering – University/College Preparation
Applications are most evident in the digital electronics, computer programming, and interfacing units. In
Unit 3, students build electronic circuits that operate to rigorous specifications, which are documented in
technical reports. In Unit 4, students apply low-level programming constructs to problem-solving
applications. Assignments involve the creation of computer programs that solve specific problems. Unit 5
incorporates all these applications. An interfacing project is designed and built. The design, building, and
creation of a final product also use computer programming and documentation through technical reports.
Interfacing systems that are designed to help physically-impaired people are different in concept and
application than military-type computer controlled missile applications. Throughout the activities,
teachers should reinforce the Christian values of morality and ethics as outlined in the Ontario Catholic
School Graduate Expectations through specific tasks.
Assessment & Evaluation of Student Achievement
The selection of assessment/evaluation techniques is directly related to the Achievement Chart
categories. Specific examples relating to course content are given for each category:
Knowledge/Understanding
 Paper-and-pencil – quiz, test (multiple-choice, fill-in-the-blanks), examinations;
 Performance – open-ended questions, organizers, tables, graphs, illustrations;
 Personal communication – in-class question and answer, open discussions, oral test or examinations.
Paper-and-pencil quizzes and short answers are suited to hardware terminology in Unit 1, networking
concepts of Unit 2, and integrated circuit components of Units 4 and 5.
Thinking/Inquiry
 Paper-and-pencil – open-ended questions, examinations, organizers;
 Performance – essays, articles, research papers, oral presentations, creation of products;
 Personal Communication – in-class question and answer, student/teacher conferencing, small
group/teacher conferencing.
Performance assessments or evaluations can be used in Unit 5 to plan and select strategies for specific
interfacing systems. Before the actual building of the system, students should research the hardware
available, cost of individual components, engineering difficulties, applicability of available software, and
timelines.
Communication
 Paper-and-pencil – open-ended questions, tests, presentations, organizers, visuals;
 Performance – lab reports, presentation, creation of products;
 Personal communication – in-class question and answer, discussions, conferencing oral presentation.
Accurate communication of computer concepts is essential to hardware terminology in networking
concepts. Journals can be used to record accurate hardware terminology. Functions and definitions, as
well as networking topologies and protocols, are important and should be included in the journal.
Application
 Paper-and-pencil – open-ended questions allowing knowledge to be applied to a new situation;
 Performance – lab reports, creations, models, oral presentations, computer programs;
 Personal Communication – interviews, student/teacher conferencing.
Transferring of concepts and procedures already discussed to new contexts is most evident in the
summative evaluation in Unit 5; students’ overall knowledge of the course can be applied to an
interfacing project. These projects tend to be open-ended where connections to many subject areas can be
made.
Page 7
 Computer Engineering – University/College Preparation
Many other opportunities are provided for students to demonstrate their highest level of achievement of
the expectations in the four Achievement Chart categories. Students are assessed and evaluated using the
following strategies:
Diagnostic: Whenever information about prior learning is useful, such as at the beginning of a term or a
unit of study, diagnostic tests are useful, including:
 unit pre-tests;
 skills inventory.
Since the skill sets of students from the ICS and ICE streams are different, diagnostic tests at the
beginning of Units 2 through 5 should provide informative feedback. Refer to the Background section
under Course Notes.
Formative: During the teaching-learning process, students should be provided with ongoing feedback on
their strengths and weaknesses and determinations of whether they are meeting course expectations,
including:
 communication through journals;
 self-assessment rubrics;
 checklists;
 student/teacher conferencing;
 observation;
 quizzes;
 anecdotal comments with suggestions for improvement.
Numerous technical terms are inherent in computer hardware, networking, integrated circuits, and
interfacing. An accurate definition log should be an ongoing part of students’ journals.
Summative: at the end of a learning process, including:
 classroom presentations;
 written and practical quizzes, tests, unit tests, final exam;
 assignments and projects evaluated using rubrics;
 culminating challenges.
Each unit naturally builds to a summative evaluation. Unit 4: Computer Programming builds from
examining base operations and individual low-level constructs to applying them to write complete lowlevel programs. These programs could be in the form of an assignment. The course also builds to a
summative evaluation in Unit 5, Activity 4, in which a complete interfacing system is designed and built,
including hardware, integrated circuits, programming, and written documentation.
Seventy per cent of the grade will be based on assessments and evaluations conducted throughout the
course. Thirty per cent of the grade will be based on a final evaluation in the form of an examination,
performance, essay, and/or other methods of evaluation.
Accommodations
Teachers should consult individual student IEPs for specific direction on accommodation for individuals.
The following accommodation strategies can be used in the activities throughout the course. Specific
strategies relating to course content are given in each activity.
Assessment Accommodations
 Provide additional review for students having difficulty integrating all the structures.
 Allow for non-timed evaluations.
 Ensure that students understand assessment/evaluation tools.
 Provide the option for oral testing and demonstrations of skills.
Page 8
 Computer Engineering – University/College Preparation


The units easily adapt to a variety of assessment techniques. Unit 1, Hardware: Personal Computer
Architecture deals with CPU and memory communications. This unit lends itself more to paper-andpencil evaluations whereas Unit 3, Digital Logic and Electronic Circuits can be evaluated largely
through hands-on activities.
Provide for alternative displays of achievement, such as oral testing, taped answers, and scribing for
students with writing difficulties.
Enrichment
 Organize more advanced problems (design work, research paper, alternate interfacing projects).
 Appoint students as assistant site administrators.
 Unit 5 easily adapts to enrichment work. Students write software that can be enhanced by including
GUIs (Graphical User Interfaces) as well as mouse controls. GUIs are authentic tasks since most
commercial software is graphically driven.
Physical Accommodations
 Check to ensure all aids, environmental issues, safety precautions, and assistance for students to
achieve success are in place.
 Provide appropriate adaptive devices, e.g., large screen monitors, touch screens, etc.
 Provide support for hands-on sessions.
 Most computer peripherals can be adapted to accommodate physical impairments.
Instructional Accommodations
 Provide peer tutoring.
 Provide flexible timelines.
 Encourage small-group learning.
 Facilitate student-to-student discussion and teacher-to-student discussion to encourage confidence
and motivation.
 Provide written materials for students having difficulty processing auditory information.
 Provide handouts to reinforce demonstrations.
 Provide clarification to students of assessment/evaluation tools such as rubrics and checklists.
Resources
Units in this Course Profile make reference to the use of specific texts, magazines, films, videos, and
websites. The teachers need to consult their board policies regarding use of any copyrighted materials.
Before reproducing materials for student use from printed publications, teachers need to ensure that their
board has a Cancopy licence and that this licence covers the resources they wish to use. Before screening
videos/films with their students, teachers need to ensure that their board/school has obtained the
appropriate public performance videocassette licence from an authorized distributor, e.g., Audio Cine
Films Inc. The teachers are reminded that much of the material on the Internet is protected by copyright.
The copyright is usually owned by the person or organization that created the work. Reproduction of any
work or substantial part of any work from the Internet is not allowed without the permission of the
owner.
Human Resources
Community libraries, and school library/resource centre
Community partners and computer industry personnel. Consider businesses with high computer usage
that consistently replace equipment (start with computer support personnel). The technology support at
these same businesses can provide valuable assistance.
School board technical service personnel.
Page 9
 Computer Engineering – University/College Preparation
Print Resources
Operating system manuals and reference texts
Blissmer, Robert H. Introducing Computers. New York: John Wiley & Sons, Inc., 1991.
ISBN 0471-53443-9
Brey, Barry B. Intel Microprocessors: Architecture, Programming and Interfacing. Prentice Hall, 2000.
ISBN 0-13-995408-2
Gaonkar, Ramesh S. Microprocessor Architecture, Programming, and Applications with the 8085.
Toronto: Collier Macmillan Canada Inc., 1999. ISBN 0-13-901257-5
Haskell, Richard E. Introduction to Computer Engineering: Logic Design and the 8086 Microprocessor.
Prentice Hall, 1993. ISBN 0-13-489436-7
Gregg, Kenneth. Windows Networking Basics. Harper Collins Canada, 1998. ISBN 0764532146
Kearns, Dave. Sams Teach Yourself Windows Networking in 24 Hours. Sams, 1998. ISBN 0672314754
Keogh, Jim. Core MCSE: Networking Essentials. Prentice-Hall of Canada Ltd., 1999. ISBN 0130107336
Magendanz, Thomas and Radu Popescu-Zeletin. Intelligent Networks: Basic Technology, Standards &
Evolution. International Thomson Press, 1996. ISBN 1850322937
Norton, Peter. Essential Concepts. McGraw-Hill Ryerson Limited, 1999. ISBN 0-02-804394-4
Parsons, Oja. Computer Concepts. 1996. ISBN 0-7600-3440-0
Smyth, Graham and Christine Stephenson. Computer Engineering: An Activities-Based Approach.
Toronto: Holt Software, 2000. ISBN 0-921598-36-X
The Whole Internet: The Next Generation. O’Reilly and Associates Inc., 1999. ISBN 1-56592-428-2
Tokheim, Roger. Digital Electronics, 4th ed. McGraw, Hill Book Company, 1994. ISBN 002-801853-2
White, Ron. How Computers Work. Quebec, Canada: 1997. ISBN 01-56-276546-9
Software Resources
Operating systems, e.g., DOS, MacOS, Windows, UNIX, etc.
OESS software tools, e.g., Corel WordPerfect, Microsoft Works, Appleworks, etc.
Web and FTP server and client applications
For low-level programming, several assemblers or simulators are available
Microprocessor Simulator 8085 Ver3.2 – http://www.insoluz.com
For high-level programming in the interfacing unit, Turing and Object Oriented Turing are now
provincially licensed and hence free to schools – http://www.holtsoft.com
Web Resources
The URLs for the websites were verified by the writers prior to publication. Given the frequency with
which these designations change, teachers should always verify the websites prior to assigning them for
student use.
General Resources
How Things Work – http://howthingswork.com
Intel’s “The Journey Inside” – http://www.intel.com/education/k12/resources/index.htm
An online training and education system whereby you can create an online virtual classroom with your
students to learn about computers
Marshall Brain’s How Stuff Works – http://www.howstuffworks.com/
IT Careers – http://www.itcareers.com
Microsoft Educational Resources – http://www.microsoft.com/education/instruction/default.asp
Operation of Computer and Components – http://www.karbosguide.com/index2.htm
Page 10
 Computer Engineering – University/College Preparation
PC Building
Oak Ridge Systems, Partitioning Hard Disks – http://oakroadsystems.com/tech/hd-partn.htm
PC Mechanic – http://www.pcmech.com/byopc/index.htm
PC World – http://www.pcworld.com/features/article/0,aid,55674,pg,14,00.asp
The Chip Merchant – http://www.thechipmerchant.com/-10011-0.html
Operating Systems
DUX Computer Digest – http://www.duxcw.com/digest/Howto/index.html
Novell Network Primer – http://www.novell.com/catalog/primer/primer.html
Testing and Troubleshooting
Guide for troubleshooting and repairing clones – http://www.daileyint.com/hmdpc/manual.htm
Hard Drive Testing – http://www.tcdlabs.com/hdtach.htm
The BIOS Survival Guide – http://burks.brighton.ac.uk/burks/pcinfo/hardware/bios_sg/bios_sg.htm
The PC Guide – http://www.pcguide.com/
Tom’s Hardware Guide – http://www.tomshardware.com/
Networking
3Com’s Netprep Program – http://education.3com.com/Netprep/index.html
Assembling Patch Cables – http://www.startech.com/structuredwiring/patchcable.htm
Cisco Certification CCIE – http://www.cisco.com/warp/public/625/ccie/
Links page to various tutorials and topics covering areas such as basic networking, client/server,
firewalls, troubleshooting, etc. – http://compnetworking.about.com
Network Design and Research Center – http://www.alaska.net/~research/Net/tutorial.htm
Network Tutorials – http://www.wizard.com/users/baker/public_html/NetTutor.html
Novell Network Primer – http://www.novell.com/catalog/primer/primer.html
Ethics and Privacy
Business Ethics Magazine – http://www.business-ethics.com/
Computer Professionals for Social Responsibility – http://www.cpsr.org/
Electronic Privacy Information Centre – http://www.epic.org/
Online Ethics Centre for Science and Engineering – http://www.onlineethics.org
Privacy International – http://www.privacyinternational.org/
Vatican – Catholic Perspective on Technology – http://www.vatican.va
OSS Considerations
The Grade 12 Computer Engineering Course is designated as a Technological Education: Part B:
Computer Studies (see The Ontario Curriculum, Technological Education, Grades 11 and 12, 2000).
Computer Studies courses offered at the Grade 12 level are University/College Preparation or Workplace
Preparation (see The Ontario Curriculum, Grades 9 and 12, Program Planning and Assessment, 2000 for
a description of the different types of secondary school courses). This course is designed to provide
students with a solid background in the relationships between software and hardware and prepares them
for postsecondary education and then entry into the workplace. Anti-discrimination education, equity,
career goals/cooperative education, and community partnerships are also discussed in this course. All of
these issues support many of the Ontario Secondary School policies.
Career exploration throughout all units is available to students with specific reference to Choices Into
Action: Guidance and Career Education Program Policy for Elementary and Secondary Schools, 1999.
Page 11
 Computer Engineering – University/College Preparation
Coded Expectations, Computer Engineering, Grade 12,
University/College Preparation, ICE4M
Theory and Foundation
Overall Expectations
TFV.01 · describe mechanisms for information movement and storage;
TFV.02 · document network configurations and their services;
TFV.03 · explain the operation of sophisticated systems that interact with real-world devices;
TFV.04 · compare high-level and low-level programming languages.
Specific Expectations
Computer Logic and Electronics
TF1.01 – describe how signed and unsigned numbers are represented;
TF1.02 – explain how to determine memory requirements for information storage;
TF1.03 – describe the function and interaction of a control unit, arithmetic logic unit, and memory
registers in a simple central processing unit (CPU);
TF1.04 – use a diagram to illustrate how buses move data and instructions between memory
and the CPU;
TF1.05 – analyse the role of flip-flops in the flow of data.
Hardware, Interfaces, and Networking Systems
TF2.01 – explain the function and interaction of the basic components of network configurations;
TF2.02 – identify similarities and differences among several network topologies and protocols;
TF2.03 – explain several computer-controlled systems that interact with real-world devices (e.g., traffic
management systems, automotive systems, robotic systems).
Programming Concepts
TF3.01 – describe the constructs of a simple assembly or machine-level language;
TF3.02 – identify similarities and differences among memory addressing techniques;
TF3.03 – compare high-level and low-level commands that perform similar operations.
Skills and Processes
Overall Expectations
SPV.01 · analyse information storage mechanisms;
SPV.02 · use Boolean equations to represent computer logic circuits;
SPV.03 · construct systems and interfaces that use computer programs to interact with
real-world devices;
SPV.04 · design effective network configurations;
SPV.05 · develop programs using the software life cycle (problem definition, analysis, design,
implementation, testing, and maintenance).
Specific Expectations
Computer Logic and Electronics
SP1.01 – convert between decimal and binary numbers;
SP1.02 – build flip-flops using simple logic gates from schematics;
SP1.03 – incorporate flip-flops in a clocked circuit to demonstrate information storage;
Page 12
 Computer Engineering – University/College Preparation
SP1.04 – use electronic instruments (e.g., multimeter, logic probe) to troubleshoot circuits;
SP1.05 – simplify Boolean equations accurately;
SP1.06 – draw circuits that represent Boolean equations;
SP1.07 – develop truth tables to represent Boolean equations.
Hardware, Interfaces, and Networking Systems
SP2.01 – analyse existing systems designs that use computers and interfaces to send and receive
information;
SP2.02 – design an effective system consisting of a computer and interface that integrates input and
output devices (e.g., motion sensitive alarm, light-activated switch, LED sign, environmental
control);
SP2.03 – construct a system consisting of a computer and interface to communicate with external
sources;
SP2.04 – identify networking problems and troubleshooting procedures;
SP2.05 – describe network hardware and software and their relationships.
Programming Practice
SP3.01 – write programs to process input and control output devices through interfaces;
SP3.02 – trace the execution of simple machine-level programs;
SP3.03 – write low-level programs;
SP3.04 – document all programs to a specified standard.
Impact and Consequences
Overall Expectations
ICV.01 · identify issues related to the ethical use of computers;
ICV.02 · explain the importance of postsecondary education, employability skills, and lifelong learning
to computer engineering careers;
ICV.03 · describe the use of computer technologies and their impact in the community;
ICV.04 · demonstrate project management skills.
Specific Expectations
IC1.01 – use appropriate presentation software to explain issues relating to computer ethics (e.g.,
privacy, security, information access);
IC1.02 – describe industry certification designations and requirements;
IC1.03 – analyse the potential impact of emerging technologies on society;
IC1.04 – use time management skills and constructive criticism in project settings;
IC1.05 – communicate the results of projects effectively both orally and in writing;
IC1.06 – use appropriate strategies to avoid potential health and safety problems associated with
computer use, such as musculo-skeletal disorders and eye strain.
Page 13
 Computer Engineering – University/College Preparation
Ontario Catholic School Graduate Expectations
The graduate is expected to be:
A Discerning Believer Formed in the Catholic Faith Community who
CGE1a -illustrates a basic understanding of the saving story of our Christian faith;
CGE1b -participates in the sacramental life of the church and demonstrates an understanding of the
centrality of the Eucharist to our Catholic story;
CGE1c -actively reflects on God’s Word as communicated through the Hebrew and Christian
scriptures;
CGE1d -develops attitudes and values founded on Catholic social teaching and acts to promote social
responsibility, human solidarity and the common good;
CGE1e -speaks the language of life... “recognizing that life is an unearned gift and that a person
entrusted with life does not own it but that one is called to protect and cherish it.” (Witnesses
to Faith)
CGE1f -seeks intimacy with God and celebrates communion with God, others and creation through
prayer and worship;
CGE1g -understands that one’s purpose or call in life comes from God and strives to discern and live
out this call throughout life’s journey;
CGE1h -respects the faith traditions, world religions and the life-journeys of all people of good will;
CGE1i -integrates faith with life;
CGE1j -recognizes that “sin, human weakness, conflict and forgiveness are part of the human
journey” and that the cross, the ultimate sign of forgiveness is at the heart of redemption.
(Witnesses to Faith)
An Effective Communicator who
CGE2a -listens actively and critically to understand and learn in light of gospel values;
CGE2b -reads, understands and uses written materials effectively;
CGE2c -presents information and ideas clearly and honestly and with sensitivity to others;
CGE2d -writes and speaks fluently one or both of Canada’s official languages;
CGE2e -uses and integrates the Catholic faith tradition, in the critical analysis of the arts, media,
technology and information systems to enhance the quality of life.
A Reflective and Creative Thinker who
CGE3a -recognizes there is more grace in our world than sin and that hope is essential in facing all
challenges;
CGE3b -creates, adapts, evaluates new ideas in light of the common good;
CGE3c -thinks reflectively and creatively to evaluate situations and solve problems;
CGE3d -makes decisions in light of gospel values with an informed moral conscience;
CGE3e -adopts a holistic approach to life by integrating learning from various subject areas and
experience;
CGE3f -examines, evaluates and applies knowledge of interdependent systems (physical, political,
ethical, socio-economic and ecological) for the development of a just and compassionate
society.
Page 14
 Computer Engineering – University/College Preparation
A Self-Directed, Responsible, Life Long Learner who
CGE4a -demonstrates a confident and positive sense of self and respect for the dignity and welfare of
others;
CGE4b -demonstrates flexibility and adaptability;
CGE4c -takes initiative and demonstrates Christian leadership;
CGE4d -responds to, manages and constructively influences change in a discerning manner;
CGE4e -sets appropriate goals and priorities in school, work and personal life;
CGE4f -applies effective communication, decision-making, problem-solving, time and resource
management skills;
CGE4g -examines and reflects on one’s personal values, abilities and aspirations influencing life’s
choices and opportunities;
CGE4h -participates in leisure and fitness activities for a balanced and healthy lifestyle.
A Collaborative Contributor who
CGE5a -works effectively as an interdependent team member;
CGE5b -thinks critically about the meaning and purpose of work;
CGE5c -develops one’s God-given potential and makes a meaningful contribution to society;
CGE5d -finds meaning, dignity, fulfillment and vocation in work which contributes to the common
good;
CGE5e -respects the rights, responsibilities and contributions of self and others;
CGE5f -exercises Christian leadership in the achievement of individual and group goals;
CGE5g -achieves excellence, originality, and integrity in one’s own work and supports these qualities
in the work of others;
CGE5h -applies skills for employability, self-employment and entrepreneurship relative to Christian
vocation.
A Caring Family Member who
CGE6a -relates to family members in a loving, compassionate and respectful manner;
CGE6b -recognizes human intimacy and sexuality as God given gifts, to be used as the creator
intended;
CGE6c -values and honours the important role of the family in society;
CGE6d -values and nurtures opportunities for family prayer;
CGE6e -ministers to the family, school, parish, and wider community through service.
A Responsible Citizen who
CGE7a -acts morally and legally as a person formed in Catholic traditions;
CGE7b -accepts accountability for one’s own actions;
CGE7c -seeks and grants forgiveness;
CGE7d -promotes the sacredness of life;
CGE7e -witnesses Catholic social teaching by promoting equality, democracy, and solidarity for a
just, peaceful and compassionate society;
CGE7f -respects and affirms the diversity and interdependence of the world’s peoples and cultures;
CGE7g -respects and understands the history, cultural heritage and pluralism of today’s contemporary
society;
CGE7h -exercises the rights and responsibilities of Canadian citizenship;
CGE7i -respects the environment and uses resources wisely;
CGE7j -contributes to the common good.
Page 15
 Computer Engineering – University/College Preparation
Unit 3: Digital Logic and Electronic Circuits
Time: 25 hours
Unit Description
Students are challenged to integrate and assemble a digital “gaming wheel” circuit that incorporates a
clock circuit and two-state devices, which are commonly called “flip-flops.” Flip-flops make up the
building blocks for basic memory units used in sequential logic operations. They are used extensively as
the basis for digital memory storage and transfer, such as in registers. Initial activities are skill builders
through hands-on activities; students arrange simple logic to create R-S, D, and J-K flip-flops and
develop truth tables to understand their function. Students identify and hardwire circuits to create D, R-S,
and J-K flip-flops and develop truth tables. Students research and design a clock circuit that is used to
understand the shifting of data in response to timed clock pulses.
Unit Synopsis Chart
Activity
3.1
Non-clocked
Flip-Flops
3.2
Clocked FlipFlops
3.3
Clocked Data
Transfer
Time
8
hours
7
hours
10
hours
Learning
Expectations
SPV.02, SP1.02,
SP1.05, SP1.06,
SP1.07
CGE2b, 2c, 3c
TF1.05, SP1.03
CGE2b, 2c, 3c
Assessment
Categories
Application
TF1.05, SP1.03
CGE2b, 2c, 3c
Thinking/Inquiry
Application
Thinking/Inquiry
Application
Tasks
Understand the role and concept of
flip-flops by hardwiring an R-S
flip-flop using basic logic gates.
Use D and J-K flip-flops to
investigate how clocks are used in
triggering flip-flops.
Integrate a clock circuit, flip-flops,
and shift registers in a game
spinner circuit.
Activity 3.1: Non-clocked Flip-Flops
Time: 8 hours
Description
This activity focuses on hardwiring a non-clocked R-S flip-flop and understanding the role of flip-flops
and data flow in computer memory circuits. Students use basic logic gates to construct an R-S flip-flop.
They describe the structure of flip-flops and construct truth tables to identify outcomes based on inputs to
the flip-flop. They also use Boolean expressions to describe logic circuits.
Strand(s) & Learning Expectations
Ontario Catholic School Graduate Expectations
CGE2b - read, understand, and use written materials effectively;
CGE2c - present information and ideas clearly and honestly and with sensitivity to others;
CGE3c - think reflectively and creatively to evaluate situations and solve problems.
Strand(s): Skills and Processes
Overall Expectations
SPV.02 - use Boolean equations to represent computer logic circuits.
Unit 3 – Page 1
 Computer Engineering – University/College Preparation
Specific Expectations
SP1.02 - build flip-flops using simple logic gates from schematics;
SP1.05 - simplify Boolean equations accurately;
SP1.06 - draw circuits that represent Boolean equations;
SP1.07 - develop truth tables to represent Boolean equations.
IC1.06 - use appropriate strategies to avoid potential health and safety problems associated with
computer use, such as musculo-skeletal disorders and eye strain.
Prior Knowledge & Skills
 Familiarity with basic electronic components, symbols, and characteristics;
 Understanding of logic gates;
 Familiarity with use of truth tables;
 Ability to manipulate Boolean expressions.
Planning Notes
 For students who have not taken the Grade 11 Computer Engineering course and are not familiar
with basic electronic components, review Grade 11, University/College Preparation, Unit 3.
 The glossary is referred to in various activities. Students develop and add to this section of their
notebooks on an ongoing basis.
 Have ready access to resource materials for researching integrated circuits and flip-flops.
 Review safety with electricity and the proper handling and storage of batteries.
 Prepare pre-sorted kits with appropriate components: breadboard, integrated circuits, 5-volt regulator,
battery, battery clip, and wire.
 Ensure parts/components storage area is well organized and assist in the management and
distribution of parts/components.
 Ensure a supply of spare components and supplies are available.
 Ensure students do not wear acrylic or wool sweaters before handling computer components.
 Ensure students discharge themselves before handling components or computers.
 Hardwire each circuit ahead of time so students can refer to teacher sample for reference.
 Use a variety of visual aids to enhance presentations, e.g., PowerPoint, overhead, computer graphics.
Teaching/Learning Strategies
1. The teacher reviews safety considerations with students about working with electronic components,
specifically emphasizing the dangers of short-circuiting a battery and damage by static electricity.
2. Students complete Appendix 3.1.5 – Electronic Safety Quiz. Reinforce the importance of safety by
having a summary of safety rules posted in the classroom.
3. Students develop dexterity by hardwiring two simple circuits on the breadboard. It may be useful to
have the backing of a breadboard stripped off to show how it is constructed and how the holes are
connected together (see Appendix 3.1.1 – Breadboards).
4. The teacher reviews and demonstrates the proper use of circuit building tools, e.g., Integrated Circuit
(IC) insertion tool, IC removal tool. Using the proper tools assists in minimizing damage to fragile
components.
5. Students research how to identify pins on an IC and draw diagrams, in their glossaries, of the internal
structure of the basic logic gate ICs – AND (7408), NAND (7400), OR (7432), NOR (7402), NOT
(7404) (Appendix 3.1.2 – Block and Pinout Diagrams).
6. The teacher reviews Boolean algebra and has students apply knowledge to simplify Boolean
expressions for combination logic circuits (Appendix 3.1.3 – Combinational Logic Circuits from
Boolean Expressions).
Unit 3 – Page 2
 Computer Engineering – University/College Preparation
7. Students pair up to research the function and possible applications for flip-flops.
8. The teacher leads a class discussion on the function and application of flip-flops, e.g., building
blocks of memory circuits used in RAM and CPU registers, by having groups contribute their
findings to the class.
9. Students hardwire an R-S flip-flop using both NAND gates and OR gates. Students use their prior
knowledge from Grade 11 to complete a truth table. Students research the prohibited states of a flipflop (Appendix 3.1.4 – R-S Flip-Flop Circuits).
Assessment & Evaluation of Student Achievement
 To reinforce the importance of safety when working with electronic components, tools, and
electricity, students complete a safety quiz (see Appendix 3.1.5 – Electronic Safety Quiz).
 The completion of hardwired circuits is assessed using a rubric
 At the end of this activity, students write a quiz to test their knowledge of Boolean expressions and
flip-flops (Appendix 3.1.7 – Activity 1 Quiz).
Accommodations
 Consult individual student IEPs for specific direction or accommodation for individuals
 Monitor individual progress in dexterity and allow extra time to complete circuits.
 Establish a ‘buddy system’ for example to assist in identifying components for students who are
colour blind and where fine motor skills are required.
 Have large lighted magnifiers for students who are visually impaired.
Resources
Print
Smyth, Graham and Christine Stephenson. Computer Engineering: An Activities-Based Approach.
Toronto: Holt Software, 2000. ISBN 0-921598-36-X
Tokheim, Roger. Digital Electronics, 4th ed. McGraw Hill Book Company, 1994. ISBN 002-801853-2
Websites
Electronics Basics – http://www.epanorama.net/basics.html
Marshall Brain’s How Stuff Works – http://www.howstuffworks.com/
Unit 3 – Page 3
 Computer Engineering – University/College Preparation
Appendix 3.1.1 – Breadboards
Breadboards are a convenient way to experiment and connect circuits so that parts are not damaged or
made unusable by soldering. The breadboard is built with conductive channels underneath in vertical and
horizontal columns. Two rows at both the top and bottom of the breadboard, conveniently labelled + and
, supply power for the whole length of the breadboard when power, such as a battery, is connected to it.
While each hole in one row is connected together, each of these rows is separate from each other.
The same logic is applied to the columns. Each of the five holes in the column is connected to each other,
but all columns are separate from each other.
Students wire the two circuits, one series and one parallel, and demonstrate their capability to understand
the breadboard and wiring of circuits.
Photographic Views
Unit 3 – Page 4
 Computer Engineering – University/College Preparation
Appendix 3.1.2
Block and Pinout Diagrams
The following is a reference for the teacher.
Unit 3 – Page 5
 Computer Engineering – University/College Preparation
Appendix 3.1.3
Combinational Logic Circuits from Boolean Expressions
Circuits that are defined by a Boolean equation can be implemented directly from that expression. For
example, to construct a circuit whose output is y = AC + BC' + A'C, we look at how the separate terms
are related in the overall expression. This Boolean expression contains three terms (AC, BC', A'C)
“ORed” together, as determined by the “+”" sign. A three-input OR gate is required with inputs that are
equal to AC, BC', and A'BC, respectively. If a three-input OR gate is unavailable, two OR gates can be
combined:
Each OR gate input is an AND product term, which means that an AND gate with appropriate inputs can
generate each term. Note the use of inverters to produce the A' and C' terms in the expression.
Boolean Theorem
Logic Circuit
X * 0=0
X*1=1
X*X=X
X * X’ = 0
X+0=X
X+1=1
X+X=X
X+X=1
Unit 3 – Page 6
 Computer Engineering – University/College Preparation
Appendix 3.1.3 (Continued)
Multivariable Theorems
1. X + Y = Y + X
6.
(W + X)(Y + Z) = WY + XY + WZ + XZ
2. X * Y = Y * X
7.
X + XY = X
3. X + (Y + Z) = (X + Y) + Z = X + Y + Z
8.
X + X’Y = X + Y
4. X(YZ) = (XY)Z = XYZ
9.
(X + Y)’ = X’ * Y’
5. X(Y + Z) = XY + XZ
10. (X * Y)’ = X’ + Y’
Example of simplifying a Boolean expression with associated logic circuit
Y = [(A'+C) * (B+D')]'
= (A'+C)' + (B+D')'
= (A*C') + (B'+D)
= AC' + B'D
Consult textbook resources for more samples of creating logic circuits from Boolean expressions and for
deriving the Boolean expression from a logic circuit.
Unit 3 – Page 7
 Computer Engineering – University/College Preparation
Appendix 3.1.4
R-S Flip-Flop Circuits
Students consult their glossary for pinout diagrams of the researched gates. Students hardwire the circuit
and fill in the truth table. The teacher provides feedback during hardwiring to ensure a working circuit.
Truth Table
State
S
R
Q
Q'
Truth Table
State
S
R
Q
Q'
Unit 3 – Page 8
 Computer Engineering – University/College Preparation
Appendix 3.1.5
Electronic Safety Quiz
Name:
Date:
Answer the following questions.
1. What type of clothing should be avoided when working with electronic parts?
2. What tool should be used when placing an (IC) onto the breadboard? Why?
3. What tool should be used when removing an IC from the breadboard?
4. Describe how electronic devices should be handled to avoid damage.
5. What might you do before touching an electronic device to avoid static damage?
6. Why might you put a piece of masking tape over the terminals of a 9-volt battery?
7. What might happen if a battery short circuits?
8. Why is checking polarity important when power is about to be connected to your circuit?
Teacher Answer Sheet
1. Avoid acrylic or wool sweaters
2. Use the IC insertion tool because it precisely places the IC into the holes on the breadboard,
otherwise, you might severely damage the legs.
3. Use a IC extraction tool because the IC is tight in the board and removing it using fingers or
screwdrivers can cause damage to the legs.
4. Use an antistatic pad to place devices on; hold the parts by the casing and not the leads; gently place
or remove components.
5. Use an antistatic wrist strap or discharge yourself by touching a grounded metal object, such as a
computer casing, table leg, or doorknob.
6. A piece of masking tape over the terminals of a 9-volt battery will keep any wires, tools, or other
metal objects from shorting the terminals when stored.
7. If a battery short circuits, it becomes very hot and may explode.
8. Checking polarity is important because certain electronic components are susceptible to damage
when power is applied in the wrong direction.
Unit 3 – Page 9
 Computer Engineering – University/College Preparation
Appendix 3.1.6
Rubric to Assess Hardwired Circuits
Category/
Level 1
Level 2
Level 3
Level 4
Criteria
(50-59%)
(60-69%)
(70-79%)
(80-100%)
- demonstrates
- demonstrates
- demonstrates
- thoroughly
Thinking/
limited
some
considerable
understands the
Inquiry
Truth Table
understanding of
understanding of
understanding of
relationship
the relationship
the relationship
the relationship
between inputs
between inputs
between inputs
between inputs
and outputs
and outputs
and outputs
and outputs
- uses proper
- uses proper
- uses proper
- uses proper
Application
Hardwiring
circuit-building
circuit-building
circuit-building
circuit-building
techniques with
techniques with
techniques with
techniques with a
limited
some effectiveness considerable
high degree of
effectiveness
effectiveness
effectiveness
Note: A student whose achievement is below Level 1 (50%) has not met the expectations for this
assignment or activity.
Appendix 3.1.7 – Activity 1 Quiz
Name: _____________________________
1. Express the output of the following circuits in Boolean terms.
a.
b.
c.
2. Combine logic gates to produce an output related to the following Boolean expressions:
a. f(A,B,C,D) = (`A·B Å C ) +`CD
b. f(A,B,C) = [( A + C ) · B] + (`A · B ) + (B · `C)
3. What is an R-S flip-flop also called?
4. What does the R-S stand for and what effect does it have on Q?
5. Draw the circuit diagram for an R-S flip-flop using NAND gates.
6. Draw the block and pinout diagrams of a 7400 IC.
7. Discuss the connection between flip-flops and memory devices.
Unit 3 – Page 10
 Computer Engineering – University/College Preparation
Activity 3.2: Clocked Flip-Flops
Time: 7 hours
Description
This activity focuses on flip-flops in integrated circuit form and incorporating a clocked circuit to alter
the state of the flip-flop. Students are challenged to develop a clocking circuit to be used in exploring the
movements of stored data in flip-flop circuits. They hardwire clocked R-S, D, and J-K flip-flops using
basic logic gates and construct truth tables to understand the relationship between input and output states.
Strand(s) & Learning Expectations
Ontario Catholic School Graduate Expectations
CGE2b - read, understand, and use written materials effectively;
CGE2c - present information and ideas clearly and honestly and with sensitivity to others;
CGE3c - think reflectively and creatively to evaluate situations and solve problems;
Strand(s): Theory and Foundation, Skills and Processes
Specific Expectations
TF1.05 - analyse the role of flip-flops in the flow of data;
SP1.03 - incorporate flip-flops in a clocked circuit to demonstrate information storage.
Prior Knowledge & Skills
 Hardwiring skills from Activity 3.1;
 Knowledge of integrated circuit identification from Activity 3.1;
 Familiarity with reading electronic circuit diagrams.
Planning Notes
 Students developed hardwiring skills in Activity 3.1. The ability to read electronic circuit diagrams is
important for students from this point onward. Close monitoring during this activity may be needed
to develop this skill.
 Ensure parts/components storage area is well organized and assist in the management and
distribution of the parts and components. Ensure spare components and supplies are available.
 Ensure students do not wear acrylic or wool sweaters before handling components of computers.
Ensure students discharge themselves before handling components or computers.
 Hardwire each circuit ahead of time so students can refer to teacher sample for reference.
 Use a variety of visual aids to enhance presentations, e.g., PowerPoint, overhead, computer graphics.
Teaching/Learning Strategies
 The teacher leads a discussion of the function of clocks in digital circuits and its role in the timing
and flow of data.
 Students are paired and presented with a challenge of designing a clock circuit that generates a 1-kHz
square wave for use in exploring clocked flip-flop circuits. Students also research how a variety of
frequencies might be achieved (Appendix 3.2.1 – Clock Circuit).
 Students hardwire clocked flip-flops using basic logic gates and complete truth tables as a skillbuilding exercise (Appendix 3.2.2 – R-S, D, and J-K Flip-Flops Using Basic Gates).
Unit 3 – Page 11
 Computer Engineering – University/College Preparation


Students are given a 7474 and a 7476 IC as mystery ICs. They connect the two circuits and observe
the differences in data flow between the two ICs to identify them as a D or J-K flip-flop
(Appendix 3.2.3 – D and J-K Flip-Flops: IC Block and Pinout Diagrams).
Students research and transfer information of the internal structure of the 7474 and 7476 integrated
circuits into their glossary.
Assessment & Evaluation of Student Achievement
 A checklist is provided for assessing the clocking circuit (Appendix 3.2.4 – Clock Circuit Checklist).
 Students’ flip-flop circuits are evaluated using a rubric
 Check for additions to glossary in this activity.
Resources
Print
Smyth, Graham and Christine Stephenson. Computer Engineering: An Activities-Based Approach.
Toronto: Holt Software, 2000. ISBN 0-921598-36-X
Tokheim, Roger. Digital Electronics, 4th ed. McGraw Hill Book Company, 1994. ISBN 002-801853-2
Websites
University of Sidney Australia – http://www.eelab.usyd.edu.au/digital_tutorial/part2/flip-flop01.html
Marshall Brain’s How Stuff Works – http://www.howstuffworks.com/
Unit 3 – Page 12
 Computer Engineering – University/College Preparation
Appendix 3.2.1
Clock Circuit
The following circuit is a reference circuit that generates a 1-kHz square wave using a 555-timer circuit.
Clocked circuits can be developed using logic gates, however, the versatility and proven history of the
555 timer make it the most reasonable choice for building a clocking mechanism.
A block diagram showing pins and labels is provided as reference.
Unit 3 – Page 13
 Computer Engineering – University/College Preparation
Appendix 3.2.2
R-S, D, and J-K Flip-Flop Using Basic Gates
Students consult their glossary for pinout diagrams of the gates. Students hardwire the circuit and fill in
the truth table. The teacher provides formative assessment during hardwiring to ensure a working circuit.
State
S
State
State
Unit 3 – Page 14
R
D
J
clock
clock
K
Q
Q
clock
Q'
Q'
Q
Q'
 Computer Engineering – University/College Preparation
Appendix 3.2.3
D and J-K Flip-Flop: IC Block and Pinout Diagrams
The following is a reference diagram for the teacher.
Appendix 3.2.4
Clock Circuit Checklist
Assess the clock circuit using the following checklist
Expectation
There is a neatly drawn diagram of the clock circuit.
Formula showing calculations of frequency is evident.
Circuit is neatly wired.
Circuit is functional.
Students are able to identify components as to their function.
Unit 3 – Page 15
Yes
 Computer Engineering – University/College Preparation
Activity 3.3: Clocked Data Transfer
Time: 10 hours
Description
This activity focuses on students integrating a clock, flip-flop, and a shift register into a gaming wheel
circuit. This circuit serves as the basis for understanding the role of each section. Students learn how flipflops are incorporated into shift registers and how shift registers are used to move data. Students
hardwire and analyse the flow of data and explain the function of each section and how they interact with
each other.
Strand(s) & Learning Expectations
Ontario Catholic School Graduate Expectations
CGE2b - reads, understands, and uses written materials effectively;
CGE2c - presents information and ideas clearly and honestly and with sensitivity to others;
CGE3c - thinks reflectively and creatively to evaluate situations and solve problems.
Strand(s): Theory and Foundation, Skills and Processes
Specific Expectations
TF1.05 - analyse the role of flip-flops in the flow of data;
SP1.03 - incorporate flip-flops in a clocked circuit to demonstrate information storage;
IC1.05 - communicate the results of projects effectively both orally and in writing.
Prior Knowledge & Skills
 Knowledge of flip-flops from Activity 3.2;
 Knowledge of integrated circuit identification from Activity 3.1;
 Familiarity with reading electronic circuit diagrams from Activities 3.1 and 3.2.
Planning Notes
 Ensure parts/components storage area is well organized and assist in the management and
distribution of the parts and components. Ensure a supply of spare components and supplies are
available.
 Ensure students do not wear acrylic or wool sweaters before handling components of computers.
Ensure students discharge themselves before handling components or computers.
 Hardwire each circuit ahead of time so students can refer to teacher sample for reference.
 Have a variety of visual aids available to enhance student presentations, e.g., overhead projector,
LCD projector.
Teaching/Learning Strategies
1 Students are given two circuits using block diagrams of the 74HC164 and the 74HC165. They
research which block diagrams correspond to the respective shift registers and obtain pinouts to
hardwire the circuits and develop truth tables for them (Appendix 3.3.1 – Shift Register Circuits).
2 Students add integrated circuit pin diagrams of the shift registers to their glossary (Appendix 3.3.2 –
Shift Registers: Block and Pinout Diagrams).
3. The teacher presents students with a challenge. Using a clock, flip-flop, and shift register, arrange
them in such a manner that it simulates a gaming wheel circuit where LEDs light up successively one
at a time. Students are paired up to develop the circuit based on previous skill building. A reference
circuit is provided for the teacher (Appendix 3.3.3 – Gaming Wheel Circuit).
4. Groups hardwire their circuits and then present their design solution and working circuit to the class.
Unit 3 – Page 16
 Computer Engineering – University/College Preparation
Assessment & Evaluation of Student Achievement
 Provide diagnostic feedback of students’ progress as students are building their shift register circuits.
 The game spinner circuits are assessed using a rubric.
 Student presentations are assessed using a rubric (Appendix 3.3.4 – Presentation Rubric).
Resources
Smyth, Graham and Christine Stephenson. Computer Engineering: An Activities-Based Approach.
Toronto: Holt Software, 2000. ISBN 0-921598-36-X
Tokheim, Roger. Digital Electronics, 4th ed. McGraw Hill Book Company, 1994. ISBN 002-801853-2
Appendix 3.3.1
Shift Register Circuits
Internal block diagrams for students
Unit 3 – Page 17
 Computer Engineering – University/College Preparation
Appendix 3.3.2
Shift Registers: Block and Pinout Diagrams
Students copy these block and pinout diagrams for the D an J-K flip-flops into their glossaries. Students
use these diagrams for reference as they hardwire circuits.
Unit 3 – Page 18
 Computer Engineering – University/College Preparation
Appendix 3.3.3
Gaming Wheel Circuit (teacher reference)
When turning on the power, the shift register must first be cleared to all zeros. When the spin wheel
switch is pressed, a single high must be loaded into position 0 on the display, lighting LED 0. The 555timer section acts as clock which starts at a high frequency and gradually decreases in frequency until it
stops. The clock pulses are inputted into the shift register. Each clock pulse entering the register will shift
the high bit to the next position, lighting up LED 1, then LED 2, etc. When the clock stops, a single LED
should be lit on the wheel in a random position.
The power-up initializing circuitry consisting of R7 and C4 must first clear the shift register and then set
only the first output high. When power is first turned on, the voltage at the top of the .01 uF capacitor,
C4, starts low and increases quickly to a high as it charges through resistor R7. The master reset input to
the 74HC164 register is held low just long enough for the all the outputs of the register to be cleared to
zero. At this point, all LEDs are off.
The circuit that loads a single high to the register is the NAND gate configured as an RS latch. The two
resistors, R5 and R6, force the output of the NAND gate (ICa) high when the power is first turned on.
This high is applied to the data inputs, Dsa and Dsb, of the shift register. On the very first low-to-high
transition of the clock, the high at the data inputs is transferred to output Q0 of the register. This high is
immediately fed back to the input of ICd and resets the latch so that a low now appears at the data inputs,
Dsa and Dsb. Only one high was loaded into the register. Repeated clock pulses move the high along
until Q7 goes high. This high is fed back to the input of ICc
The 74HC164 8-bit shift register is wired as a ring counter. The circuit has two characteristics that make
it a ring counter. One characteristic is feedback from the last Q0 bit and the last Q7 bit to a flip-flop.
When the high reaches output Q7, after clock pulse 8, a feedback line is run back to the flip-flop to
transfer the high back to output Q0. The second characteristic is the loading of a pattern of 1s and 0s;
these re-circulate as long as clock pulses reach the CP input of the shift register.
Unit 3 – Page 19
 Computer Engineering – University/College Preparation
Appendix 3.3.4
Presentation Rubric
Presentation
Communication
Organization
Delivery
Knowledge/
Understanding
Content
Knowledge
Level 1
(50-59%)
Level 2
(60-69%)
Level 3
(70-79%)
- shows limited
organization
- shows moderate
organization
- demonstrates
limited command
of presentation
skills
- demonstrates
limited knowledge
and ability to
answer questions
Level 4
(80-100%)
- demonstrates a
moderate
command of
presentation skills
- shows
considerable
organization
- demonstrates
considerable
command of
presentation skill
- shows a high
degree of
organization
- demonstrates
extensive
command of
presentation skills
- demonstrates
some knowledge
and answers
rudimentary
questions
- demonstrates
considerable
knowledge and is
at ease with
content
- demonstrates
knowledge and
includes
explanations and
elaboration
Application
Visuals
- uses visuals with - uses visuals with - uses visuals with - uses visuals
limited
some
considerable
effectively
effectiveness
effectiveness
effectiveness
Note: A student whose achievement is below Level 1 (50%) has not met the expectations for this
assignment or activity.
Unit 3 – Page 20
 Computer Engineering – University/College Preparation
Unit 4: Computer Programming
Time: 20 hours
Unit Description
Students are introduced to low-level programming by making comparisons with the more familiar highlevel programming. Concepts students need to understand in order to compare, trace, and write low-level
programs include registers, addressing techniques, flags, repetition, and decision structures. Since lowlevel programming contains no recognisable English words, reflective thinking and creative problem
solving are extremely important. In this unit, students develop problem-solving and critical-thinking
skills with the view of applying these skills to global issues in the Catholic tradition.
Unit Synopsis Chart
Activity
4.1
Performing
Arithmetic
Operations in
Different Bases
4.2
High- and LowLevel Constructs
4.3
Addressing
Techniques
4.4
Tracing LowLevel Programs
4.5
Writing LowLevel Programs
Unit 4 – Page 1
Time
3
hours
3
hours
2
hours
5
hours
7
hours
Learning
Expectations
TF1.01, SP1.01
CGE2b, 3b, 3c
Assessment
Categories
Application
Communication
TFV.04, TF3.01,
TF3.03, ICV.03
CGE2e, 3c
TF3.01, TF3.02
CGE3c, 7e
Thinking/Inquiry
Communication
TF3.01, SP3.02
CGE2b, 3c
TF3.01, TF3.02,
SP3.03, IC1.05
CGE2c, 4g, 7j
Knowledge/
Understanding
Thinking/Inquiry
Application
Thinking/Inquiry
Communication
Knowledge/
Understanding
Application
Tasks
Base conversions among
decimal, binary, and
hexadecimal number systems
and binary arithmetic
Constructs include assigning
values to variables and
incrementing numbers
Techniques include immediate,
direct, and indirect addressing
Tracing includes assignment
statements, decision structures,
and looping structures
Low-level programs include the
addressing and low-level
constructs traced in
Activities 4.2 to 4.4
 Computer Engineering – University/College Preparation
Activity 4.1: Performing Arithmetic Operations in Different Bases
Time: 3 hours
Description
To understand the low-level programming structures and techniques introduced in this unit, students
study some of the relationships among the decimal-based number system and the binary and hexadecimal
number systems. Students also study arithmetic operations in the binary number system that are
developed and applied to low-level programming and to signed and unsigned numbers. Students add to
their journals by listing ways that computer software technology can be used for the common good.
Strand(s) & Learning Expectations
Ontario Catholic School Graduate Expectations
CGE2b - read, understand, and use written materials effectively;
CGE3b - create, adapt, and evaluate new ideas in light of the common good;
CGE 3c - think reflectively and creatively to evaluate situations and solve problems.
Strand(s): Theory and Foundation, Skills and Processes
Specific Expectations
TF1.01 - describe how signed and unsigned numbers are represented;
SP1.01 - convert between decimal and binary numbers;
ICV.01 - identify issues related to the ethical use of computers;
ICV.03 - describe the use of computer technologies and their impact in the community;
Prior Knowledge & Skills
 Arithmetic operations, including place value in base 10.
Planning Notes
 Review arithmetic operations in binary with the goal of applying these operations to low-level
programming in future activities.
Teaching/Learning Strategies
1. The teacher initiates class discussion about the possible uses of computer software for helping solve
global and community problems. Students write in their journals about how computers can solve
some global and community problems. Ideas are used to develop a Code of Ethics in Activity 5.
2. The teacher then initiates discussion about the need for other number systems besides base 10.
3. The teacher demonstrates other numbering systems.
4. Students develop a table to count in binary and hexadecimal number systems and add the table to
their portfolios.
5. Students compare these systems with the base-10 number system and establish relationships.
6. The teacher reviews the conversion mechanisms between base 10, the decimal system, and base 2,
the binary system.
7. The teacher reviews the arithmetic operations of addition and subtraction in binary and introduces
the two’s-complement method of subtracting.
8. Students discuss the advantages and disadvantages of two subtraction methods.
9. Students pair up to establish the two’s-complement method’s connection to signed and unsigned
numbers.
Unit 4 – Page 2
 Computer Engineering – University/College Preparation
Assessment & Evaluation of Student Achievement
 Score student answers on conversion table chart that relates binary and decimal number systems
(Appendix 4.1.1 – Binary and Decimal Number System Conversions).
 Students are assessed on their completed conversion charts (Appendix 4.1.2 – Binary and
Hexadecimal Number Conversions).
 Students complete the arithmetic operation question sheet (Appendix 4.1.3 – Adding and Subtracting
in Binary).
 Students are assessed on their ability to apply arithmetic operations to signed and unsigned numbers
(Appendix 4.1.4 – Signed and Unsigned Numbers).
Accommodations
 Provide a partially completed glossary that students complete on their own or with assistance from
their peers.
 Appoint a safety monitor or use the buddy system.
Resources
Print
Brey, Barry B. Intel Microprocessors: Architecture, Programming and Interfacing. Prentice Hall, 2000.
ISBN 0-13-995408-2
Gaonkar, Ramesh S. Microprocessor Architecture, Programming, and Applications with the 8085.
Toronto: Collier Macmillan Canada Inc., 1999. ISBN 0-13-901257-5
Haskell, Richard E. Introduction to Computer Engineering: Logic Design and the 8086 Microprocessor.
Prentice Hall, 1993. ISBN 0-13-489436-7
Smyth, Graham and Christine Stephenson. Computer Engineering: An Activity-Based Approach.
Toronto: Holt Software Associates, 2000. ISBN 0-921598-36-X
Websites
Microprocessor Simulator 8085 Ver3.2 – http://www.insoluz.com
Unit 4 – Page 3
 Computer Engineering – University/College Preparation
Appendix 4.1.1
Binary and Decimal Number System Conversions
Most mathematical, scientific, and high-level programming is carried out in the base 10 (decimal)
number system. Computers, however, do not use the decimal system but rather the binary number system.
In order to understand how a computer really processes numbers, binary-decimal conversions must be
understood.
Example 1: Convert the binary number 10011000 to base 10. Check your answer using a calculator.
Since binary numbers have place value, like the decimal number system, the fundamental operation is
multiplication where each successive binary digit is multiplied by 2. Writing the number 10011000
vertically and multiplying by the appropriate binary place value gives the following numbers.
1 X 27 = 128
0 X 26 = 0
0 X 25 = 0
1 X 24 = 16
1 X 23 = 8
0 X 22 = 0
0 X 21 = 0
0 X 20 = 0
Total = 152
Therefore 100110002 = 15210
Example 2: Convert the decimal number 56 to binary. Check your answer using a calculator.
The fundamental arithmetic operation in example 1 (conversion was from binary to base 10) was
multiplication. Here the fundamental operation is division since the conversion is in the opposite
direction.
56
28
14
7
3
1
 14
1
 28
7
3
0
Divisions:
2
2
2
2
3
2
Remainders:
0
0
0
1
1
1
The division stops since the last quotient was 0. The binary answer is found in the remainders
collected in reverse. Therefore, 5610 = 1110002.
Complete the following chart. Check your answers using a calculator. Add this work to your portfolio.
Question
Decimal Number
Binary Number
1
255
2
1100110
3
73
4
111011
5
5678
Unit 4 – Page 4
 Computer Engineering – University/College Preparation
Appendix 4.1.2
Binary and Hexadecimal Number Conversions
The conversion between binary and hexadecimal is the easiest conversion. Writing binary numbers and
hexadecimal numbers out in a chart, you will recognize that the 4-bit binary number 1111 coincides with
the hexadecimal digit F.
Conversion Chart
Decimal
Binary
Hexadecimal
Decimal
Binary
Hexadecimal
0
0000
0
8
1000
8
1
0001
1
9
1001
9
2
0010
2
10
1010
A
3
0011
3
11
1011
B
4
0100
4
12
1100
C
5
0101
5
13
1101
D
6
0110
6
14
1110
E
7
0111
7
15
1111
F
Converting between binary and hexadecimal involves grouping all binary digits in sets of 4.
Example 1: Convert 11100001 to hex. Check your answer using a calculator.
1110 0001, now grouped in 4s, equals E1 in hex.
Example 2: Convert F5 hex to binary. Check your answer using a calculator.
F5, translated to groups of 4 binary digits, equals 1111 0101.
Convert the following. Add this work to your portfolio.
Question
Hexadecimal
Binary Number
1
A3
2
1100110
3
FF
4
111011
5
1110
Unit 4 – Page 5
 Computer Engineering – University/College Preparation
Appendix 4.1.3
Adding and Subtracting in Binary
Example 1: Add the binary numbers 1101 and 1001. Check your answer using a calculator
1101
 1001
10110
Therefore 1101 + 1001 equals 10110. Adding and carrying a digit in binary is the same as adding in base
10, but remember that the adding is in binary.
Subtracting in binary can be carried out using two very different methods. The first method is similar to
subtracting in decimal; each column being subtracted has a borrow from the next column.
Example 2: Subtracting by borrowing. Check your answer using a calculator.
In binary, subtract 1101 from 11101.
11101
 01101
10000
Therefore 111012  11012 = 100002
This method closely resembles subtracting in base 10.
Example 3: Subtract the following two numbers using the two’s-complement method. Check your answer
using a calculator.
11101012 – 10111012
Follow the 4 steps:
Step 1 Align the two numbers.
1110101
 1011101
Step 2 Complement the bottom number.
Copy number :
111010
1110101
 1011101
Complement :  01000010
100010111
Step 3 Add :
Step 4 Drop the leading digit and add one. 10010111 becomes
0010111
1
11000
Therefore 11101012  10111012 = 110002
Use the two’s-complement method to subtract the following. Add this work to your portfolio.
a)
56
 32
Unit 4 – Page 6
b)
73
 44
c)
255
 75
d)
55
 73
 Computer Engineering – University/College Preparation
Appendix 4.1.4
Signed and Unsigned Numbers
Unsigned Numbers
Binary numbers, as with base 10 numbers, can either be unsigned (the number is always assumed to be
positive) or signed (the plus or minus sign must be included).
Binary numbers are stored in a computer in groups of 8 digits. Each digit is a bit and each group of 8 bits
is a byte. Starting from the right, this bit is labelled bit 0. The bit to the left is bit 1. The next bit is bit 2
and so on to bit 7. All eight bits are displayed in these examples even when the leading bits are 0.
Therefore, the base 10 number 8 is 1000 in binary but is written as 00001000 in byte format. When a byte
is written in unsigned format, the number can be converted to base 10 by the method discussed in
Appendix 4.1.1 – Binary and Decimal Number System Conversions.
Example 1:What is the decimal value of the unsigned binary number 10011000? Check your answer
using a calculator.
Following Appendix 4.1.1, Example 1, 100110002 = 15210. The leading bit, which is called bit 7, is a 1.
The value of that bit is 128 in base 10. The value changes when the byte is signed.
Signed Numbers
Signed binary numbers have a plus or minus sign within the number itself. In base 10, a signed number
will have a + or a – sign in front of the number. In binary signed numbers, the + or – is incorporated into
the number using the two’s-complement method.
If the binary number is signed, bit 7 (the left-most bit) indicates the sign. The bit 7 is also referred to as
the most significant bit (MSB). If the number is positive, bit 7 is a 0; if the number is negative, bit 7
is a 1.
Example 1: What is the decimal value of the signed binary number 10011000? Check your answer using
a calculator.
Immediately we know that the signed number is negative since bit 7 (MSB) is a 1. To determine the
magnitude of this negative number, the two’s-complement method is used.
The steps to follow are:
Take the complement
The complement of 10011000 is 01100111
Add 1
01100111 + 1 = 01101000
Converting 011010002 = 10410.
Therefore the signed byte 100110002 = -10410
Convert the following signed/unsigned numbers to base 10. Check your answer using a calculator.
Add this work to your portfolio.
Question
Signed
Binary Number
Decimal Equivalent
1
Yes
011111100
2
No
11001100
3
No
11101100
4
Yes
11111111
5
No
11111111
Unit 4 – Page 7
 Computer Engineering – University/College Preparation
Activity 4.2: High- and Low-Level Constructs
Time: 3 hours
Description
The hexadecimal number system discussed in Activity 4.1 is now applied to low-level constructs. These
constructs are developed into simple programs that students compare with more familiar high-level
programming commands. Students add to their journals on possible ways to use computer software
technology to contribute to global and community needs in the Catholic faith tradition.
Strand(s) & Learning Expectations
Ontario Catholic School Graduate Expectations
CGE 3c - think reflectively and creatively to evaluate situations and solve problems;
CGE2e - use and integrate the Catholic faith tradition, in the critical analysis of the arts, media,
technology, and information systems, to enhance the quality of life.
Strand(s): Theory and Foundation
Overall Expectations
TFV.04 - compare high-level and low-level programming languages;
ICV.01 - identify issues related to the ethical use of computers;
ICV.03 - describe the use of computer technologies and their impact in the community.
Specific Expectations
TF3.01 - describe the constructs of a simple assembly or machine-level language;
TF3.03 - compare high-level and low-level commands that perform similar operations.
Prior Knowledge & Skills
 Programming in a high-level language;
 Familiarity with the registers in a microprocessor (from Unit 1).
Planning Notes
 Review the hexadecimal number system as applied to low-level programming.
 Choose an assembler or simulator for programming low-level constructs. The 8085 assembler is used
for all examples. The same assembler is used to develop addressing techniques in Activity 4.3, to
trace low-level programs in Activity 4.4, and to write low-level programs in Activity 4.5.
 Review op codes, operands, and mnemonics.
 Select simple low- and high-level constructs for comparison.
Teaching/Learning Strategies
1. Students add to their journals regarding possible uses of computer programming to solve issues both
globally and in the community. Students are given the following topics: the environment, the poor,
people with accessibility needs, and minority groups within the social context.
2. The teacher groups students to discuss the need (if any) and role of high- and low-level
programming. Groups report to the class.
3. The teacher introduces the constructs of an assembly or machine-level language, for example
constructs to:
 Assign a number to a variable: MVI A F3 (moves F3 into the accumulator).
 Add a number to the accumulator: ADI 0C (adds hex number 0C to the accumulator).
 End a program: HLT (halts the program).
 Add to a register: INR C (adds 1 to register C).
Unit 4 – Page 8
 Computer Engineering – University/College Preparation
4. Apply the hexadecimal number system to low-level programming. All commands in low-level
programming are translated to hexadecimal format:
– MVI A F3 (translates to 3E F3);
– ADI 0C (translates to C6 0C);
– HLT (translates to 76).
5. Compare high- and low-level programming languages, such as:
– assigning a value to a variable (A := 5 translates to MVI A 05);
– incrementing by 1 (C := C + 1 translates to INR C).
6. Students do practice exercises that relate constructs of machine level language and their hexadecimal
equivalent and compare these to high level language
7. Students pair up to research career opportunities relating to low-level programming, such as Intel’s
80XX series, Motorola’s 68000 series, various PIC microcontrollers, or Programmable Loigic
Controllers (PLCs).
8. Students research the connection between registers used in low-level programming and the registers
discussed in Unit 1.
Assessment & Evaluation of Student Achievement
 Students complete and teacher evaluates the chart describing the constructs of a simple assembly
language (Appendix 4.2.1 – Developing Low-Level Constructs);
 Students complete and teacher evaluates the assignment comparing high-level and low-level
programming languages (Appendix 4.2.2 – Comparing High- and Low-Level Languages).
Resources
Print
Brey, Barry B. Intel Microprocessors: Architecture, Programming and Interfacing. Prentice Hall, 2000.
ISBN 0-13-995408-2
Gaonkar, Ramesh S. Microprocessor Architecture, Programming, and Applications with the 8085.
Toronto: Collier Macmillan Canada Inc., 1999. ISBN 0-13-901257-5
Haskell, Richard E. Introduction to Computer Engineering: Logic Design and the 8086 Microprocessor.
Prentice Hall, 1993. ISBN 0-13-489436-7
Smyth, Graham and Christine Stephenson. Computer Engineering: An Activity-Based Approach.
Toronto: Holt Software Associates, 2000. ISBN 0-921598-36-X
Websites
Microprocessor Simulator 8085 Ver3.2 – http://www.insoluz.com
Unit 4 – Page 9
 Computer Engineering – University/College Preparation
Appendix 4.2.1
Developing Low-Level Constructs
The hexadecimal number system is an integral part of low-level programming. Since this type of
programming involves no English-type words, all commands are given in hexadecimal. The exact
commands, as in high-level programming, depend on the language being used. Intel’s 8085 instruction set
is used. The first column lists some assembly-level constructs. The second column gives the translated
(by the assembler) hexadecimal equivalent of the first column. The third column documents the
constructs.
Mnemonic Op Code
(and operands if any)
Hex Op Code
(and operands if any)
MVI A F3
3E F3
MOV A B
78
ADI 0C
C6 0C
STA F324
32 F324
HLT
76
INR C
0C
DCR C
0D
SUI 02
D6 02
Documentation
Move the hex value F3 (i.e., 240 base 10) into the
accumulator. This command is 2 bytes long.
Transfer the contents of B register into the
accumulator (A register). No operands. This
command is 1 byte long.
Add to the accumulator the immediate value of 12 in
base 10 or C in hex. C must be written as 0C since all
registers are 1 byte in size. This command is 2 bytes
long.
Store the accumulator at hex memory location F324.
This command is 3 bytes long.
Break or end the program. No operands. This
command is 1 byte long.
Increment the value of the C register by 1. This
command is 1 byte long.
Decrement the value of the C register by 1. This
command is 1 byte long.
Decrement the accumulator (A register) by 2. This
command is 2 bytes long.
Complete the following chart to relate the constructs of machine-level language and their hexadecimal
equivalents. Add this work to your portfolio.
Mnemonic Op Code
Hex Op Code
Documentation
(and operands if any)
(and operands if any)
MVI A FF
MOV A B
MVI C EA
INR C
RAL
STA 3F24
Unit 4 – Page 10
 Computer Engineering – University/College Preparation
Appendix 4.2.2
Comparing High- and Low-Level Languages
High- and low-level languages can carry out similar operations. Individual commands do not necessarily
translate directly but there are similarities. There are similar commands in high- and low-level languages
to accomplish operations, such as assigning a value to a variable; incrementing a variable by 1;
decrementing a variable by 1; and adding two variables.
The examples demonstrate how a high-level command can be roughly translated into a low-level
command. All high-level commands are demonstrated in Turing and low-level commands in Intel 8085
assembly code.
Example 1: Assign a value to a variable.
Solution (Turing):
var A: int
A := 5
Documentation: A is an integer variable that is assigned a value of 5.
Solution (8085 assembler code):
MVI A 05
HLT
Documentation:
Line 1: MVI moves the value, here 5, into the accumulator (A register).
Line2: HLT is the op-code to tell the CPU that this is the end of the program.
Example 2: Assign a value to another variable.
Solution (Turing)
var counter: int
counter := 15
Documentation: The integer variable counter is assigned a value of 15.
Solution: 8085 assembler code:
MVI C 0F
HLT
Documentation:
Line 1: The value of 15 must be translated into the hexadecimal number system (0F) since we are dealing
directly with the register in the CPU. The 0 is required in front of the F since the A, B, C, D, E, H, and L
registers are one byte long (two hex digits). In a similar fashion, any number can be moved into these
registers. The number moved into the register is an integer and has a maximum base 10 size of 255 (FF),
the largest number that can be stored in 1 byte. Storing larger numbers requires connecting bytes
together.
Line 2: HLT is the op-code to tell the CPU that this is the end of the program.
Example 3: Incrementing a variable by 1.
Solution (Turing)
var counter: int
counter := 10
counter := counter + 1
Documentation: Initially, counter has a value of 10. The integer variable counter on the right side of the
equal sign is evaluated first, so counter equals 11 after being incremented. The new value of counter
is 11.
Unit 4 – Page 11
 Computer Engineering – University/College Preparation
Appendix 4.2.2 (Continued)
8085 assembler code
MVI C 0A
INR C
HLT
Documentation:
Line 1: The value of 10, 0A in hex, is moved into the C register. INR is the mnemonic that increments
by 1. The C register is being incremented. In a similar fashion, any of the registers can be incremented.
Line 2: HLT is the op-code to tell the CPU that this is the end of the program.
Example 4: Adding two variables.
Solution (Turing):
var total, number : int
total :=3
number := 12
total := total + number
Documentation: Initially, the variable total has a value of 3. After the variable number has been added to
total, total has a value of 15.
8085 assembler code
MVI A 03
ADI 0C
HLT
Documentation:
Line 1: The value of 3 is moved into the accumulator.
Line 2: ADI adds the immediate value (0C in hex equals 12 in base 10) to the accumulator. The
accumulator now contains 0F (0F equals 15 in base 10).
Line 3: HLT is the op-code to tell the CPU that this is the end of the program.
Assignment: Comparing High-Level and Low-Level Programming Language
Complete the programs in the chart. Documentation should include the meaning of each command as
well as the context of the command in the complete program. Add this work to your portfolio.
Question
High-Level Program
Low-Level Program
Documentation
var counter : int
1
counter := 32
counter := counter / 2
var total, count : int
2
total :=3count := 12
total := total + count
3
MVI A 05HLT
4
MVI C 18DCR CHLT
5
MVI A 03ADI 0CHLT
var initial: int
6
initial := 52
initial := initial - 2
Unit 4 – Page 12
 Computer Engineering – University/College Preparation
Activity 4.3: Addressing Techniques
Time: 2 hours
Description
Several low-level constructs, such as assigning numbers to variables and performing arithmetic
operations, were introduced in Activity 4.2. A further important construct needed to write low-level
programs is addressing. Addressing techniques that students use to write low-level programs include
direct, indirect, and immediate addressing. Documenting the addressing techniques is introduced.
Students examine problem-solving techniques with the view of applying Christian values.
Strand(s) & Learning Expectations
Ontario Catholic School Graduate Expectations
CGE4f - apply effective communication, decision-making, problem-solving, time, and resource
management skills;
CGE7e - witness Catholic social teaching by promoting equality, democracy, and solidarity for a just,
peaceful, and compassionate society.
Strand(s): Theory and Foundation
Specific Expectations
TF3.01 - describe the constructs of a simple assembly or machine-level language;
TF3.02 - identify similarities and differences among memory addressing techniques.
Prior Knowledge & Skills
 Programming in a high-level language;
 Familiarity with the registers in a microprocessor (from Unit 1);
 Understanding of basic low-level constructs of Activity 4.2.
Planning Notes
 Develop the addressing concepts in the context that they will be used to write complete programs in
Activity 4.5.
 Use the assembler/ simulator chosen in Activity 4.2 to test all concepts.
Teaching/Learning Strategies
1. Students are asked to consider the role they will play as Catholic leaders in promoting social values.
Students add to their journals by correlating the issues already listed with how they, as computer
engineers, could promote a just and compassionate society.
2. Students then group to discuss the need and possible methods to identify memory addresses
3. The teacher develops a chart to differentiate between the four main addressing techniques. For
example:
 Direct addressing puts the contents of an address in a register: LDA 1234 (puts the contents of
address 1234 in the accumulator).
 Indirect addressing puts the contents of the address of two related registers in the accumulator:
LDAX B (loads the accumulator with the contents of the address stored by registers B and C).
 Immediate addressing stores pairs of registers with immediate values: LXI B 1234 (loads the B
register with 12 and the C register with 34).
Unit 4 – Page 13
 Computer Engineering – University/College Preparation
4. Students pair up to discuss the fundamental difference between the address of a byte of information
and the contents of an address.
5. Students practise addressing techniques.
Assessment & Evaluation of Student Achievement
 Students complete and the teacher evaluates addressing chart (Appendix 4.3.1 – Memory Addressing
Techniques).
Resources
Print
Brey, Barry B. Intel Microprocessors: Architecture, Programming and Interfacing. Prentice Hall, 2000.
ISBN 0-13-995408-2
Gaonkar, Ramesh S. Microprocessor Architecture, Programming, and Applications with the 8085.
Toronto: Collier Macmillan Canada Inc., 1999. ISBN 0-13-901257-5
Haskell, Richard E. Introduction to Computer Engineering: Logic Design and the 8086 Microprocessor.
Prentice Hall, 1993. ISBN 0-13-489436-7
Smyth, Graham and Christine Stephenson. Computer Engineering: An Activity-Based Approach.
Toronto: Holt Software Associates, 2000. ISBN 0-921598-36-X
Unit 4 – Page 14
 Computer Engineering – University/College Preparation
Appendix 4.3.1
Memory Addressing Techniques
One of the principle functions of the CPU is to communicate with memory. This communication is a bidirectional operation (i.e., the CPU must be able to send information to memory and also retrieve
information from memory). To carry out this communication, the CPU must be able to locate the required
piece of information. The location of a specific byte of information is called the address of the byte.
There are several different techniques that can be used to locate a memory address. Memory addressing
commands include Immediate Addressing, Direct Addressing, and Indirect Addressing.
Immediate Addressing
Immediate addressing involves storing data pairs of registers with immediate values. Registers that can
act in pairs in immediate addressing are: B and C; D and E; and H and L.
Example 1: Load the B register with 12 and the C register with 34.
Solution:
LXI B 1234
HLT
Documentation:
Line 1: Register B stores the byte 12 and the C register stores the byte 34.
Line 2: HLT is the op-code to tell the CPU that this is the end of the program.
Example 2: Load the H register with 45 and the L register with 67.
Solution:
LXI H 4567
HLT
Documentation:
Line 1: Similar to example 1, register H stores the byte 45 and the L register stores the byte 67.
Line 2: HLT is the op-code to tell the CPU that this is the end of the program.
Direct Addressing
Direct Addressing assigns the contents of a memory location to a register. Each byte has an address
(location) and a value (the number stored in the location). In our 64K environment, 65 536 different
addresses must be assigned; this requires two bytes. Addresses are therefore two bytes in length.
Example 1: Load the accumulator with the contents of address 1234.
Solution:
LDA 1234
HLT
Documentation:
Line 1: LDA causes the assembler to load the accumulator with the contents of address 1234.
Line 2: HLT is the op-code to tell the CPU that this is the end of the program.
Example 2: Store the contents of the accumulator at address ABCD.
Solution:
STA ABCD
HLT
Documentation:
Line 1: The contents of the accumulator are stored at address ABCD in memory. The accumulator still
contains the value stored at location ABCD. A copy has been now placed in memory location ABCD.
Line 2: HLT is the op-code to tell the CPU that this is the end of the program.
Unit 4 – Page 15
 Computer Engineering – University/College Preparation
Appendix 4.3.1 (Continued)
Indirect Addressing
Indirect addressing involves loading and storing information into the accumulator. The information is
received from register pairs. For example, the command LDAX B takes a total of two bytes information
from the register pair B and C as an address and stores the contents of that address in the accumulator.
Example 1: Store the contents of register B and C in the accumulator.
Solution:
LDAX B
HLT
Documentation:
Line 1: Indirect loading command uses registers B and C. If B contains 23 and C contains 45, the address
pointed to is 2345. If the address 2345 contains FD, then FD is loaded into the accumulator.
Line 2: HLT is the op-code to tell the CPU that this is the end of the program.
Example 2: Load the accumulator with FF. Store the contents of the accumulator at memory location
2040.
Solution:
MVI A FF
MVI B 20
MVI C 40
STAX B
HLT
Documentation:
Line 1 will move the hex value FF into the accumulator.
Line 2: MVI B will store the first half of the 2040 address, the 20, into the B register.
Line 3: MVI C will move the second half of the 2040 address, namely the 40, into the C register.
Line 4: STAX will store the FF from the accumulator into address 2040 in memory.
Line 5: HLT is the op-code to tell the CPU that this is the end of the program.
Assignment: Memory Addressing Techniques
For each question, identify the type of addressing, the registers involved with the type of addressing, and
an explanation of the function of the addressing technique. Add this work to your portfolio.
Question
Construct
Addressing Type
Registers Involved
Documentation
1
STA 2040
2
STAX B
3
LXI H 4567
4
LDA A345
5
LDAX B
6
LXI D 5432
Unit 4 – Page 16
 Computer Engineering – University/College Preparation
Activity 4.4: Tracing Low-Level Programs
Time: 5 hours
Description
The low-level structures developed in Activities 4.1, 4.2, and 4.3 are extended to include repetition and
decision. By tracing existing programs, students examine and explain these structures through
documentation. Students list the moral and ethical importance of proper documentation.
Strand(s) & Learning Expectations
Ontario Catholic School Graduate Expectations
CGE2b - read, understand, and use written materials effectively;
CGE 3c - think reflectively and creatively to evaluate situations and solve problems.
Strand(s): Theory and Foundation, Skills and Processes
Specific Expectations
TF3.01 - describe the constructs of a simple assembly or machine-level language;
SP3.02 - trace the execution of simple machine-level programs;
SP3.04 - document all programs to a specified standard.
Prior Knowledge & Skills
 Familiarity with the registers in a microprocessor (from Unit 1);
 Understanding of basic low-level constructs from Activity 4.2 and addressing techniques from
Activity 4.3;
 Tracing low-level programs from Activity 4.4.
Planning Notes
 Use the assembler/simulator chosen in Activity 4.2 to trace the execution of all programs. Examples
are demonstrated using an 8085 assembler. The same assembler should be used for Activity 4.5.
 Check the execution of the programs using the assembler’s STEP as well as RUN function.
 Review op codes, operands, and mnemonics.
 Select simple low- and high-level constructs for comparison.
 Write several programs for the students in both high- and low-level languages so they can compare
the two types of programming.
Teaching/Learning Strategies
1. Students list the reasons why it would be important to provide proper and accurate documentation in
all their projects and the consequences for improper or inaccurate documentation. These ideas are
added to their journals.
2. The teacher reviews the registers introduced in Unit 1
3. The teacher relates these registers to simple assembly-level constructs, such as:
 MVI A F3 (moves the number F3 into the accumulator)
 STA 2AC4 (stores the contents of the accumulator at address 2AC4)
 STAX B (stores the accumulators contents at the stored in registers B and C)
 LHLD 1234 (loads the contents of location 1234 into L and loads the contents of location 1235
into register H)
 SBI 05 (subtracts 05 from the accumulator)
 ADI 0C (adds the number 0C to the accumulator)
 LDA 1234 (loads the accumulator with the contents of address 1234)
Unit 4 – Page 17
 Computer Engineering – University/College Preparation




INC C (increments register C by 1)
MOV A B (transfers the contents of register B into A)
CPI 04 (compares the value in the accumulator with 4)
CMP M (compares the memory location M, which is stored in registers H and L, with the
accumulator)
 JM 8002. JM is used in conjunction with the comparison command CPI. If the comparison is true
the next command is executed. If the comparison is false the execution jumps to address 8002.
 JC 8011 can be used with the CMP M command. If the contents of the accumulator is greater
than the contents of memory location M then execution jumps to 8011.
 JNZ 8002 will jump to the next line if the previous instruction equalled 0. If it is not 0 then the
program jumps to 8002.
4. Students pair up to discuss how the jump and compare commands are related.
5. The teacher demonstrates the use of the step and run features to trace low level programs using the
assembler/simulator in Activity 4.2. Students practise tracing the execution of low level programs
one step at a time (Appendix 4.4.1 – Tracing Low-Level Programs).
Assessment & Evaluation of Student Achievement
 In pairs, students exchange and assess the documentation of a program based on completeness,
clarity of expression, and exactness when explaining the purpose of the entire program and of each
component
Resources
Print
Brey, Barry B. Intel Microprocessors: Architecture, Programming and Interfacing. Prentice Hall, 2000.
ISBN 0-13-995408-2
Gaonkar, Ramesh S. Microprocessor Architecture, Programming, and Applications with the 8085.
Toronto: Collier Macmillan Canada Inc., 1999. ISBN 0-13-901257-5
Haskell, Richard E. Introduction to Computer Engineering: Logic Design and the 8086 Microprocessor.
Prentice Hall, 1993. ISBN 0-13-489436-7
Smyth, Graham and Christine Stephenson. Computer Engineering: An Activity-Based Approach.
Toronto: Holt Software Associates, 2000. ISBN 0-921598-36-X
Websites
Microprocessor Simulator 8085 Ver3.2 – http://www.insoluz.com
Unit 4 – Page 18
 Computer Engineering – University/College Preparation
Appendix 4.4.1
Tracing Low-Level Programs
Tracing low-level programs requires communicating directly with the CPU through an assembler. The
exact assembler environment depends on the particular assembler being used; the syntax used is the
standard 8085 instruction set. Each low-level program should be traced line by line. The function of each
op code and operand as well as the purpose of the line in the context of the program should be explained
through documentation. Also, the overall purpose of the program should be stated at the conclusion of
the program. Documentation habits developed here should be included in all programs being written.
Example 1: Write a low-level program that will subtract 23 from FF.
Solution:
MVI A FF
SBI 23
HLT
Documentation:
Line 1: MVI moves the immediate value given, here FF, into the accumulator. This value of FF will be
used in the next operation.
Line 2: SBI subtracts the immediate value, here 23, from the accumulator.
Line 3: HLT halts the program, indicating the end of the program.
The value in the accumulator is now DC.
Note: All low or high are always assembled somewhere in memory. In the previous examples the exact
address in memory has not been stated. Question 3 starts with, 8000 MVI A 00. Address 8000 has been
selected as the staring address to assemble the program. The other addresses may be calculated manually
but the assembler being used will do the counting of bytes for you. The addresses must be stated
explicitly in programs that require decision or repetition structures. The addresses have been left off in
programs not requiring repetition or decision for ease of reading.
Trace the program by writing complete documentation for each of the following.
Question 1: Load the accumulator with 5510. Add 5 to this number and store it at location 4556.
Solution:
MVI A 37
ADI 05
STA 4556
HLT
Documentation:
Unit 4 – Page 19
 Computer Engineering – University/College Preparation
Appendix 4.4.1 (Continued)
Question 2: Load the contents of two memory locations into registers C and D. Add the contents of these
registers and store the answer at address 9ABC.
Solution:
LDA 1234
MOV C A
LDA 5678
MOV D A
ADD C
STA 9ABC
HLT
Documentation:
Question 3: Document each line of the program and then state the overall purpose of the program.
8000 MVI A 00
8002 INR A
8003 CPI 05
8005 JM 8002
8008 HLT
Documentation:
Question 4: Document each line of the program and then state the overall purpose of the program.
8000 MVI A 01
8002 MVI B 20
8004 MVI C 30
8006 STAX B
8007 INX B
8008 INR A
8009 CPI 06
800B JM 8006
800E HLT
Documentation:
Question 5: Document each line of the program and then state the overall purpose of the program.
8000 MVI A 00
8002 MVI B 08
8004 MVI C 06
8006 ADD B
8007 INR B
8008 DCR C
8009 JP 8006
800C STA 8100
800F HLT
Documentation:
Unit 4 – Page 20
 Computer Engineering – University/College Preparation
Appendix 4.4.1 (Continued)
Question 6: Document each line of the program and then state the overall purpose of the program.
LHLD 1234
MVI A 00
ADD H
SUB L
HLT
Question 7: The numbers presently stored in memory locations 0251 to 025B are sorted in ascending
order. Document the program.
8000 MVI B 0A
8002 LXI H 0251
8005 MOV C B
8006 MOV A M
8007 INX H
8008 CMP M
8009 JC 8011
800C MOV D M
800D MOV M A
800E DCX H
800F MOV M D
8010 INX H
8011 DCR C
8012 JNZ 8006
8015 DCR B
8016 JNZ 8002
8019 HLT
Documentation:
Unit 4 – Page 21
 Computer Engineering – University/College Preparation
Activity 4.5: Writing Low-Level Programs
Time: 9 hours
Description
After examining and tracing many structures, students write low-level programs. The structures that are
included in their programs include register commands, arithmetic operations, addressing techniques,
repetition, and comparison. Unit 4 concludes with a summative assignment in which students write lowlevel programs. Students complete a personal Code of Ethics based on their journal entries in the
previous activities.
Strand(s) & Learning Expectations
Ontario Catholic School Graduate Expectations
CGE 2c - present information and ideas clearly and honestly and with sensitivity to others;
CGE4g - examine and reflect on one’s personal values, abilities, and aspirations influencing life’s
choices and opportunities;
CGE7j - contribute to the common good.
Strand(s): Theory and Foundation, Skills and Processes
Specific Expectations
TF3.01 - describe the constructs of a simple assembly or machine-level language;
TF3.02 - identify similarities and differences among memory addressing techniques;
SP3.03 - write low-level programs;
IC1.05 - communicate the results of projects effectively both orally and in writing.
Prior Knowledge & Skills
 Understanding of basic low-level constructs from Activity 4.2 and addressing techniques from
Activity 4.3;
 Tracing low-level programs from Activity 4.4.
Planning Notes
 Review all low-level constructs from Activities 4.1 to 4.4.
 Select questions for summative assignment using the low-level constructs from Activities 4.1
through 4.4.
Teaching/Learning Strategies
1. Students collate the journal entries from the previous activities into a personal Code of Ethics. This
Code of Ethics is word processed and included in their portfolio.
2. Students group to summarize the low-level commands from the previous activities and include an
example for each command. Students include the summaries in their student portfolios.
3. Students write several low-level programs by using the above structures as guides.
4. Students work in pairs to discuss and write a brief report on the advantages and disadvantages of
low-level programming.
Unit 4 – Page 22
 Computer Engineering – University/College Preparation
Assessment & Evaluation of Student Achievement
 Students write and then submit complete programs, including documentation, for the questions in
Appendix 4.5.1 – Writing Low-Level Programs. Assessment could be split 20% design, 50% content,
and 30% documentation.
 Grouped in pairs, students design their own low-level programming question and exchange with a
partner who will develop a complete solution.
Accommodations
 Include enrichment-type assessment, such as questions 10 and 11 from Appendix 4.5.1 – Writing
Low-Level Programs.
Resources
Print
Brey, Barry B. Intel Microprocessors: Architecture, Programming and Interfacing. Prentice Hall, 2000.
ISBN 0-13-995408-2
Gaonkar, Ramesh S. Microprocessor Architecture, Programming, and Applications with the 8085.
Toronto: Collier Macmillan Canada Inc., 1999. ISBN 0-13-901257-5
Haskell, Richard E. Introduction to Computer Engineering: Logic Design and the 8086 Microprocessor.
Prentice Hall, 1993. ISBN 0-13-489436-7
Smyth, Graham and Christine Stephenson. Computer Engineering: An Activity-Based Approach.
Toronto: Holt Software Associates, 2000. ISBN 0-921598-36-X
Unit 4 – Page 23
 Computer Engineering – University/College Preparation
Appendix 4.5.1
Writing Low-Level Programs
Writing low-level programs (e.g., Intel 8085) requires communicating directly with the CPU through an
assembler. Write complete programs with documentation to answer the following questions. The
documentation should be written in sentence form where the commands themselves are clearly explained.
As well the documentation should explain the context of the commands in the overall program. Add this
work to your portfolio.
1. Add the hex number AB with 12.
2. Load the accumulator with 84 and then move that value to the B register.
3. Load registers L and H with two numbers. Subtract the contents of register L from H and store the
answer in the accumulator.
4. Load the accumulator with base 10 number 55. Add 5 to this number and store it at location 4556.
5. Load the contents of two memory locations into registers C and D. Add the contents of these
registers and store the answer at address 9ABC.
6. Add the hex values from 8 through E. Store the answer at memory location 8100.
7. Add the 10 numbers that are stored in 10 consecutive memory locations starting at location 3000.
Store the answer at memory location 4000.
8. Move the 5 bytes that are stored at memory location 0250 through 0254 to memory location 0300
through 0304.
9. Write a program that will store two hundred and fifty-six Fs in 256 consecutive memory locations.
10. Take the numbers presently stored in memory locations 0251 to 025B and sort these values in
ascending order
11. Take the numbers presently stored in memory locations 0251 to 025B and sort these values in
descending order.
Unit 4 – Page 24
 Computer Engineering – University/College Preparation
Download