Computer Science > Manual > Instructor's Manual with Solutions for Computer Science An Overview, 10E (All)

Instructor's Manual with Solutions for Computer Science An Overview, 10E

Document Content and Description Below

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, introduces the concept of abstraction, and sets the stage for future discussions social/professional/ethical considerations. 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 introductory students will have seen computing/computer science only in the context of using application software, Web browsing, and perhaps some programming. Thus, they may not understand the distinction between studying computer science and learning how to use today’s computer application software. I find it helpful to explain that computer science deals with the development of tomorrow’s application software, rather than learning how to use the applications of today. Comments 1. This introductory chapter is included to set the stage—not to be the final word on the topics presented. The goal at this point is merely to develop an intuitive understanding of the ideas and the terminology involved. 2. When writing this introduction, I envisioned a chapter that would be used largely as a reading assignment. Students tend to start a new semester with a fresh, enthusiastic attitude. They are eager to get started and have resolved that this semester "I'll keep up and stay organized." I like to take advantage of this enthusiasm. Thus, I assign this chapter as a reading assignment on the first day of class and spend very little time discussing it. In my courses, class presentation usually starts with material from Chapter 1. 3. Those of us who teach introductory computer science courses are always looking for interesting algorithms to use as examples. Along these lines I've drawn from the art of origami (see the bird folding algorithm in Chapter 5) for some time. Introductory students seem to enjoy working with an algorithm that does something "different." I've also drawn from the field of magic for such examples. I hope you like the example in Figure 0.2 of the text and find it useful. 4. Most beginning students don’t distinguish between data processing and computer science. They don't understand that there is much more to computer science than Web browsing and writing programs. In this regard, I like to use the following quote from Charles Darwin. "... science consists of grouping facts so that general laws and conclusions may be drawn from them." 1 5. The topics discussed throughout the text collectively provide an understanding of computer 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, the bootstrap process, 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. (I think a major problem in today's education is that we avoid challenging topics. In turn, the students have learned to view formal course work as an irrelevant waste of time and treat it accordingly. They perform poorly, we decide we need to simplify the course further, and the cycle continues.) 6. You may want to point out that the discussion of ethical theories in Section 0.6 is there merely to suggest that before one takes the position that “I’m right and you’re wrong,” one should think about the source of his/her opinion. This is not a course on the philosophy of ethics, so don’t let your students get bogged down in the differences between duty-based and contract-based ethics. 2 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. The optional sections delve more deeply into these topics by presenting the problems of overflow errors, truncation errors, error detection and correction techniques, and data compression. Comments 1. Perhaps the most important comment I can make about this chapter (and the next one as well) is to explain its role in the chapters that follow. This involves the distinction between exposing students to a subject and requiring them to master the material—a distinction that is at the heart of the spirit in which the entire text was written. The intention of this chapter is to provide a realistic exposure to a very important area of computer science. It is not necessary for the students to master the material. All that is needed from this chapter in the remaining part of the book are the remnants that remain from a brief exposure to the issues of data storage. Even if the course you teach requires a mastery of these details or the development of manipulation skills, I encourage you to avoid emphasizing bit manipulations and representation conversions. In particular, I urge you to avoid becoming bogged down in the details of converting between base ten and binary notation. I can’t think of anything that would be more boring for the students. (I apologize for stating my opinion.) 2. The “required” sections in this chapter cover the composition of main memory (as a background for machine architecture in chapter 2 and data structures in chapter 8), the physical issues of external data storage systems (in preparation for the subjects of file and database systems in chapter 9), and the rudiments of data encoding (that serves as a background for the subject of data types and high-level language declaration statements in chapter 6). The optional sections explore the issues of error handling, including transmission error detection and correction as well as the problem of truncation and overflow errors resulting from numeric coding systems. 3. As mentioned in the preface of the text, there are several themes that run throughout the text, one of which is the role of abstraction. I like to include this theme in my lecture in which I introduce flipflops. I end up with both flip-flop diagrams from the text on the board, and I emphasize that they represent two ways of accomplishing the same task. I then draw a rectangle around each diagram and erase the circuits within the rectangles leaving only the inputs, outputs, and rectangles showing. At this point the two look identical. I think that this creates a strong visual image that drives home the distinction between an abstract tool’s interface with the outside world and the internal details of the tool. This is a specific example of teaching several topics at the same time—in this case, the concepts of abstraction and encapsulation are taught in the context of teaching digital circuits. 3 4. Don’t forget about the circuits in Appendix B. I used to have students who continued to record an extra bit in the answer to a two’s complement addition problem when a carry occurred—even though I had explained that all values in a two’s complement system were represented with the same number of bits. Once I started presenting the addition circuit in Appendix B, this problem disappeared. It gave the students a concrete understanding that the carry is thrown away. (Of course, in a later course computing students will learn that it really isn’t thrown away but saved as the "carry bit" for potential use in the future, but for now I ignore this.) I have also found that a good exercise is to ask students to extend the circuit in Figure B.3 so that it produces an additional output that indicates whether an overflow has occurred. For e [Show More]

Last updated: 1 year ago

Preview 1 out of 78 pages

Reviews( 0 )

$8.00

Add to cart

Instant download

Can't find what you want? Try our AI powered Search

OR

GET ASSIGNMENT HELP
101
0

Document information


Connected school, study & course


About the document


Uploaded On

Feb 24, 2022

Number of pages

78

Written in

Seller


seller-icon
SupremeDocs

Member since 2 years

24 Documents Sold


Additional information

This document has been written for:

Uploaded

Feb 24, 2022

Downloads

 0

Views

 101

Document Keyword Tags

Recommended For You

What is Browsegrades

In Browsegrades, a student can earn by offering help to other student. Students can help other students with materials by upploading their notes and earn money.

We are here to help

We're available through e-mail, Twitter, Facebook, and live chat.
 FAQ
 Questions? Leave a message!

Follow us on
 Twitter

Copyright © Browsegrades · High quality services·