Instructor's Guide to Accompany
Computer Science: An Overview
Thirteenth Edition, Global Edition
This manual is a supplement to the text Computer Science: An Overview, thirteenth edition, Global edition. It consists mainly of answers to the chapter review problems although it also contains some comments regarding the material in that text. The chapters in the manual are coordinated with the parent text. That is, to find material relating to Chapter 4 in the text, turn to Chapter 4 of this supplement.NOTE: (For Complete File, Download link at the end of this File) 1 / 4
Chapter Zero
INTRODUCTION
Chapter Summary This chapter introduces computer science as the discipline that seeks a scientific foundation for topics such as computer design, computer programming, algorithmic processes, etc. It gives an informal introduction to the concept of an algorithm (more detail is given in Chapter 5) and discusses how this concept forms the foundation of the field known as computer science. The chapter also presents a brief history of computing machinery and introduces the “Big Ideas of Computer Science” of the College Board’s codification, namely; algorithms, abstraction, creativity, data, programming, Internet, and impact.A major goal of this chapter is to establish the concept of computer science as being the underpinning for the development of the computer applications with which students are familiar.Most students believe that computer science and “coding” are equivalent. One goal of this chapter is to explain to students why this is not the case.Comments
- This introductory chapter is included to set the stage for the course, and is your chance to tell
- The Overarching Themes of Computer Science (creativity, abstraction, data, algorithms,
- The topics discussed throughout the text collectively provide an understanding of computer
your students the answer to the question “What is Computer Science all about?” You may choose to answer this question in any number of ways. You could, for instance, discuss the branches of study that your institution considers essential for a major. Another possibility is to explain to students how Computer Science is different from merely teaching “coding.”
programming, Internet, and impact) in Section 0.4 provide a chance for you as an instructor to bring your student’s prior knowledge into the study of the course. For instance, you could ask your students to consider how each of the seven overarching themes of computer science is embodied in Facebook. Abstraction can be a difficult concept for students to grasp, so it would help for you to give a specific definition as well as some examples.
science. There is probably no single topic that a student must know. (Do students really have to know about error correcting codes, two's complement arithmetic, or the significance of the halting problem?) So don't hesitate to skip a topic if it doesn't fit your course goals. On the other hand, I encourage you to cover a wide range of topics. The goal is to introduce students to computer science by presenting a variety of topics in enough detail to expose the realities of the issues involved. (Each individual topic may not be necessary on its own, but together they paint an important picture.) Maintaining this perspective is perhaps more of a challenge when teaching a computer literacy course than a course within a computer science curriculum. In these former cases there is a temptation to skip the more challenging or tedious topics since "they don't need to know that anyway." In contrast, I prefer to go ahead and present such subjects in a manner compatible with the audience and then adjust the level of assignments and exams to match the objectives of the particular course and the abilities of the students.
1
- / 4
- Each chapter will end with “Social Issues” questions. If your course has a discussion section,
these questions would best be discussed in that environment. Alternatives would include a weekly online class discussion, in which each student must post one unique perspective, and must comment on at least 2 other students posts.
2
- / 4
Chapter One
DATA STORAGE
Chapter Summary This chapter presents the rudiments of data storage within digital computers. It introduces the basics of digital circuitry and how a simple flip-flop can be used to store a single bit. It then discusses addressable memory cells and mass storage systems (magnetic disk, compact disks, and flash memory). Having established this background, the chapter discusses how information (text, numeric values, images, and sound) are encoded as bit patterns and lays a foundation for the binary system. The optional sections in this chapter are not required for subsequent material in the text. However, these topics are relevant to Computer Science Principles and answer some common questions that students have about binary representation of information.
Comments
- This chapter could really be thought of as four separate chapters, covering the topics of
- The material in section 1.1 often overwhelms students who have never seen it before. I prefer to
Representation of Information as Bits, Storage of Bits in Memory with Logic Gates, Compression and Transmission of Bits, and Programming in Python. In a 15-week course, you may find that this material takes 2-3 full weeks, and in a high school course, this material may take 4-6 weeks.Although the Python component of the chapter is one section, students respond well to a regular, small amount of programming each week.
start this chapter, with sections 1.4 (Representing Information as Bit Patterns) and 1.5 (The Binary System). I would then move through the remaining sections in order: 1.1, 1.2, 1.3, 1.6, 1.7, ….
- Section 1.1 needs careful, and slow, explanations. It may help to give students extra examples of
logic gates and combinations of logic gates before a Flip-Flop is introduced. One of the Student Activities for this chapter helps build this foundation. The textbook places the process for building adders using logic gates in Appendix B, but I have found it is worth the time to discuss adders in lecture.
- While storing integers (1.6) and fractions (1.7) are complicated processes, they answer questions
that students should have after reading section 1.5, namely, “How do computers represent negative numbers?” and “How do computers represent numbers in Scientific Notation?” Some students may find these sections difficult.
- As mentioned above, the Python sections could be taught in little parts that occur regularly
throughout the course. Decide ahead of time how you will support your students in setting up an IDE to use Python. Several free, cloud-based Python systems have been developed. I prefer these environments to those that must be installed on a machine, and I encourage my students to use them.
3
- / 4