Catalog Description

Advisory: Completion of MATH A with grade of "C" or better
Hours: 72 (54 lecture, 18 laboratory)
Description: Survey of computer science technologies and methods. Introduction to computer hardware and software, structured programming, operating system concepts, communications and social impacts of computer technology. Explore current and emerging topics such as robotics, computer security and artificial intelligence. (CSU, UC)

Course Student Learning Outcomes

  • CSLO #1: Describe the software development life-cycle.
  • CSLO #2: Describe the principles of structured programming and be able to describe, design, implement, and test structured programs using currently accepted methodology.
  • CSLO #3: Explain what an algorithm is and its importance in computer programming.
  • CSLO #4: Explain moral and ethical issues in computer science.

Effective Term

Fall 2020

Course Type

Credit - Degree-applicable

Contact Hours

72

Outside of Class Hours

90

Total Student Learning Hours

162

Course Objectives

Lecture Objectives:
1. Identify at least three places computers can be found in our society, other than personal computers.
2. Compare and contrast data input and storage mechanisms from previous generations of computers to those in current use.
3. Compare and contrast the specifications of at least two commercially-available computer systems and associated common peripherals.
4. Describe the binary and hexadecimal counting systems.
5. Solve mathematical problems that are expressed in the decimal, binary, and hexadecimal counting systems.
6. Describe the relationship between bits and bytes.
7. Identify and describe the function of major computer components in a von Neumann architecture: CPU, CU, ALU, Bus, Disk Drive, RAM, ROM, Clock, and Input/Output Peripherals.
8. Identify the major components of mass storage devices (platters, read/write heads, recording surface, interface) and describe the logical layout of data (tracks, sectors, blocks, cylinders).
9. Describe the use of "abstraction" and "layering" in operating systems and networking.
10. Describe the purpose of disk-based virtual memory (swap) and the process by which swap space is used to alleviate shortages of RAM.
11. Identify the major components of modern graphical user interfaces: buttons, scrollbars, menus, windows, dialogs, input fields, text, images, cursor, click, drag.
12. Define and describe the networking terms: protocol, host, client, server, IP Address, TCP, LAN, router, checksum. Identify examples of each.
13. Apply current computer science theories, models, and techniques that provide a basis for problem identification and analysis, software design, development, implementation, verification, and documentation.
14. Distinguish the tradeoffs computer scientists must balance in software and hardware design in terms of cost, speed, and resource limitations.
15. Compare the relative efficiencies of at least two of the following algorithms: binary search, linear search, bubble sort, insertion sort, quicksort, find min/max.
Laboratory Objectives:
1. Design, write, and run without errors a simple computer program utilizing variables, conditionals, and loops using a current programming language.
2. Prepare at least two simple web pages in HTML utilizing basic formatting tags, lists, images, colors, and links. View the web pages in a web browser.
3. Write, print, and save a document using a word processor.
4. Use a spreadsheet or database to define data fields, input data, express mathematical calculations that manipulate the data, and save the data.

General Education Information

  • Approved College Associate Degree GE Applicability
    • AA/AS - Comm & Analyt Thinking
  • CSU GE Applicability (Recommended-requires CSU approval)
    • Cal-GETC Applicability (Recommended - Requires External Approval)
      • IGETC Applicability (Recommended-requires CSU/UC approval)

        Articulation Information

        • CSU Transferable
        • UC Transferable

        Methods of Evaluation

        • Objective Examinations
          • Example: Objective Examinations: 1. Q: Turnstiles often contain an odometer-like device that counts the number of persons who have passed through. Argue whether the counter is an analog or digital device. A: There is no correct answer. It can be argued that because the turnstile can only measure "whole" persons, it is a digital device. On the other hand, because the counter is a mechanical device whose dials must physically turn from one count to the next, it could be an analog device. 2. Q: All modern computers work with a system of numbers called ________ ______________. a) Octal numbering system b) Decimal numbering system c) Binary numbering system A: c 3. The use of binary circuitry corresponds to: a) the use of a rotary dial on a telephone b) making use of fingers and toes to count c) the OFF and ON states of a light bulb d) the use of a voice activated answering device A: c
        • Problem Solving Examinations
          • Example: 1. Design a small web site about your family. The web site should contain at least three pages: a top "home" page listing all the members of your family and two or more pages, one for each member of your family. The home page should be hyperlinked to each of the family member pages and vice-versa. Each family member page should contain the following information: * His or her name * A brief description of that person * A list of hobbies * A picture of the person or of one of their hobbies The web pages should make use of a variety of HTML tags, including headings, bold, italics, horizontal rules, centering, images, and colors. Upload your web site to a web server and view it in a browser. Solution: The web pages need to include at least the minimum required tags. It should load correctly in a web browser. Each of the pages should be linked to each other as described. Rubric grading.
        • Skill Demonstrations
          • Example: After doing the laboratory assignment about machine code and parts of the CPU, explain how a computer virus or worm can infect your computer without your knowledge by overwriting the contents of the PC (Program Counter) register. Solution: Because the PC register contains the address of the next instruction to be executed, a virus (or any other malicious program) can cause the computer to execute arbitrary instructions by replacing the contents of register with the address of one of its own instructions. The computer doesn't "know" it is about to execute unwanted instructions. To the computer, this is perfectly normal behavior. Often, the overwriting of the PC register is accomplished with a programming technique called "buffer overruns." Rubric grading.

        Repeatable

        No

        Methods of Instruction

        • Laboratory
        • Lecture/Discussion
        • Distance Learning

        Lab:

        1. Use an online discussion forum to facilitate writing. Require each student to post a minimum number of messages, the substantive content of which demonstrates critical thinking about computer science theory. The messages may be in response to questions posed by the instructor or may be as write-ups at the completion of laboratory assignments. (Objective 13)

        Lecture:

        1. We help the students learn about and visualize various sorting algorithms by using playing cards. Prior to class, the students have read about the bubble and quicksort algorithms. Each student is given a deck of cards to shuffle. Students are then asked to apply the bubble sort algorithm to the shuffled deck. The students should keep a count of the number of iterations. The student shuffles the cards again and applies the quicksort algorithm, also counting the number of iterations. The students then analyze their results to determine which algorithm is faster. We further analyze the algorithms by formulating scenarios in which either algorithm works at its fastest and its slowest running times. Throughout the activity the instructor facilitates the activity. (Objective 15)

        Distance Learning

        1. The instructor will present a video lecture explaining the Bubble sort algorithm through multiple examples. Students will be given an unsorted list integer values to sort using the discussed Bubble sort algorithm. (Lecture Objective 15)

        Typical Out of Class Assignments

        Reading Assignments

        1. Read the chapter on the history of computing and be prepared to discuss in class. 2. Read the website entitled "Beginner's Guide to HTML." Work through the examples shown by typing them into a text file editor, saving them, and viewing them in a web browser and be prepared to discuss in class.

        Writing, Problem Solving or Performance

        1. Robots are becoming increasingly useful in our society. For example, one can buy a small robot to automatically vacuum a house. We can explore some of the technologies that make this possible using simple robot construction techniques. Design and write a program in Java or RCX to instruct a robot outfitted with individually powered wheels and light and touch sensors to wander around the floor, automatically avoiding obstacles. The robot should not go over any path more than once. The program is finished when the robot finds the black circle located in an arbitrary place. 2. Write a two-page essay describing your personal experiences with malware. Conclude your paper by describing at least two things you can do to remove malware from your computer and/or prevent it in the future. 3. Write a two-page paper tracing the evolution of input devices (punched cards, magnetic tape, disk drives), focusing on how the devices of yesterday have influenced the devices of today.

        Other (Term projects, research papers, portfolios, etc.)

        Required Materials

        • Computer Science, An Overview
          • Author: Brookshear, Glenn
          • Publisher: Pearson
          • Publication Date: 2018
          • Text Edition: 13th
          • Classic Textbook?: No
          • OER Link:
          • OER:
        • Computer Science: An Interdisciplinary Approach
          • Author: Robert Sedgewick, Kevin Wayne
          • Publisher: Addison-Wesley Professional
          • Publication Date: 2016
          • Text Edition: 1st
          • Classic Textbook?: No
          • OER Link:
          • OER:
        • Computer Science Illuminated
          • Author: Dale & Lewis
          • Publisher: Jones & Bartlett Publishers
          • Publication Date: 2019
          • Text Edition: 7th
          • Classic Textbook?: No
          • OER Link:
          • OER:

        Other materials and-or supplies required of students that contribute to the cost of the course.