Phone: 855.534.6298 Cart
0item(s)

You do not have any courses in your Wish List. Choose from popular suggestions below or continue with Subject or Grade

POPULAR SUGGESTIONS

Product was successfully added to your Cart.

Introduction to Computer Science (TCH110)

Introduction to Computer Science (TCH110)

Add to WishList

Quick Overview

This course is designed to introduce students to a contemporary overview of today's computer science. The course is non-language-specific and provides a solid foundation using an algorithm-driven approach. To keep the course in touch with current issues, material on emerging topics are included, such as privacy, drones, cloud computing, and net neutrality. Traditional computer science topics such as, binary numbers, boolean logic, system software, networking, information security, and language programming are also included.
Teacher-Led Course (one-time payment)   $450.00

Monthly Fees: Due Today:

* Required Fields

Price as configured: $0.00

Details

COURSE OVERVIEW

This course is designed to introduce students to a contemporary overview of today's computer science. The course is non-language-specific and provides a solid foundation using an algorithm-driven approach. To keep the course in touch with current issues, material on emerging topics are included, such as privacy, drones, cloud computing, and net neutrality. Traditional computer science topics such as, binary numbers, boolean logic, system software, networking, information security, and language programming are also included.

 

COURSE OUTLINE

 

An Introduction to Computer Science

 

  • Introduces the definition of computer science and surveys the history of the field.
  • Addresses common misconceptions about the field of computer science.
  • Examines the Gibbs-Tucker definition of computer science.
  • Focus on the idea of an algorithm.
  • Defines the concept of an algorithm, gives examples of algorithms, and explains the importance of algorithmic problem-solving.
  • Surveys the history of computing, beginning with calculating devices that pre-date modern computers by centuries, and including key developments from the 1940s on.

 

Algorithm Discovery and Design

 

  • Examines algorithmic problem solving as it is seen in computer science.
  • Defines pseudocode, which uses statements in English and math notation, along with structure similar to a programming language.
  • Explains why pseudocode is better for algorithm design than a natural language like English or a programming language.
  • Constructs needed for pseudocode are sequential (computations, input, and output), conditional, and iterative statements.
  • Use of case studies, where the process of developing an algorithmic solution to a problem is carefully illustrated. 

 

The Efficiency of Algorithms

 

  • Introduction to the kinds of attributes algorithms have, and the methods by which computer scientists evaluate and compare algorithms.
  • Introduction to the concept of orders of magnitude, and examines a variety of algorithms to determine the order of magnitude of each algorithm’s time efficiency.
  • Discusses the time/space tradeoff, and the existence of intractable problems with no known efficient solutions.

 

The Building Blocks: Binary Numbers, Boolean Logic, and Gates

 

  • Introduction to the hardware level of computer systems.
  • Describes how binary representations of numbers and characters work, including sign-magnitude and two’s complement representations for integers, and the ASCII table for mapping characters to binary numbers.
  • Discusses how digitized sound and images work, through sampling and representation of wave magnitudes, for sounds, and colors or intensities, for images.
  • Discusses the importance of Boolean logic, and the mapping between true/false values and 1/0 values.
  • Shows how to construct gates that implement Boolean operators from transistors.
  • Uses a specific algorithm, sum-of-products, for designing circuits, and illustrates the power of such circuits by building an adder, a compare-for-equality circuit, and multiplexor and decoder control circuits.

 

Computer Systems Organization

 

  • Discusses how the Von Neumann architecture works.
  • Outlines the characteristics of the Von Neumann architecture, and then looks in detail at each piece of the processor required to implement the architecture. 
  • Explains how information is organized, stored and retrieved from random access memory.
  • Describes different I/O devices, particularly mass storage devices, and the need for I/O controllers to handle the slow speed of I/O devices.
  • Describes the ALU and the control unit, and how all those pieces fit together to form a Von Neumann machine.
  • Discusses some reasons why the Von Neumann architecture is becoming limited, and describes work in parallel processing to get around the Von Neumann bottleneck.

 

An Introduction to System Software and Virtual Machines

 

  • Introduces the programs and tasks that make up system software for a computer.
  • Describes in detail how and why assembly language is used for programming a computer, rather than programming directly in machine language.
  • Describes the main tasks an operating system needs to perform, and how the operating system interacts with the user and with other subsidiary programs to perform its tasks.
  • Provides a historical overview of operating system development, emphasizing how each generation sought to improve on previous systems.

 

Computer Networks and Cloud Computing

 

  • Introduces the concept of computer networks.
  • Describes the different kinds of networks, wired and wireless.
  • Explains how local area networks, wide area networks, and the Internet function.
  • Explains what a protocol is, and introduces the layers of protocol hierarchy that make networks functions.
  • Describes sample protocols, for example, TCP/IP and HTTP, among others.
  • Discusses the benefits and services we have come to take for granted, and a history of the development of the Internet and the World Wide Web.

 

Information Security

 

  • Introduces the issues of information security in the online world.
  • Discusses methods for controlling access to information using authentication and authorization.
  • Describes common kinds of attacks on a computer’s security, including viruses, worms, Trojan horses, and zombie armies.
  • Describes a range of techniques for encrypting messages, starting from simple Caesar ciphers and other symmetric encryption algorithms, and ending with an explanation of RSA public-key encryption.
  • Discusses the importance of security protocols (SSL and TLS) for transmission of sensitive personal information over the web.
  • Suggests the growing importance of computer security for small-scale, embedded systems that are connected to a network.

 

Intro to High Level Languages

 

  • Introduces the concept of a high-level programming language.
  • Illustrates the similarities and differences through two details examples, and provides a table that compares the five languages for a wide range of language features.
  • Introduces the software development life cycle, needed to make large-scale software development feasible.
  • Introduces the stages of the life cycle, and explains what is done for each part.
  • Describes the waterfall model of development, and compares it to agile software development.

 

The Tower of Babel: Multiple Programming Voices

 

  • Discusses why hundreds of different programming languages have been developed, emphasizing the special features of each language.
  • A wide range of languages within the procedural paradigm are described, along with the problems they are particularly good at solving.
  • Introduces special-purpose languages, and other paradigms, including functional, logic, and parallel languages.
  • Provides a set of language features that may differ from one language to another, and that provide a framework for comparing languages.

 

Compilers and Language Translation

 

  • Describes how computers translate programs from high-level programming languages into assembly language or byte code.
  • Describes the phases of a compiler, including lexical analysis, parsing, code generation, and optimization.
  • Introduces Backus-Naur Form (BNF) for describing the grammatical structure of a programming language, and shows how to use it to parse programs into parse trees.
  • Explains a set of common optimizations performed on compiled code.

 

Models of Computation

 

  • Examines the nature of computation, and some important results from the theory of computation.
  • Introduces models of computing agents, and explains how Turing machines are good models of computing agents, and also capture the features of algorithms.
  • Describes how Turing machines work, and the thesis that Turing machines, as a model, capture all algorithms.
  • Discussion of unsolvable problems: in particular, the halting problem.

 

Simulation and Modeling

 

  • Introduces an important area of application for computing: computational modeling for quantitative fields including the sciences, mathematics, engineering, and even social sciences.
  • Introduces the purposes and methods of model building and why computational models can be useful.
  • Describes different features models can have, and provides a detailed case study for discrete event simulation, an important kind of computational model.
  • Discussion of methods for presenting and visualizing quantitative data, particularly when the amount of data becomes difficult to view.

 

Electronic Commerce

 

  • Examines electronic commerce, a field that has grown in importance tremendously over the past fifteen years.
  • Introduces different purposes an organization might have for an ecommerce site.
  • Discusses the positives and negatives of creating an ecommerce website.
  • Explains the design process for deciding what an ecommerce site will contain, and how online transactions must be managed.
  • Discusses a key system required by most or all ecommerce sites: databases.
  • Describes the purpose of a database management system, and how SQL is used to retrieve data from tables within a database.
  • Includes a discussion of database integrity, and how that is maintained.
  • Personal privacy in the era of data mining and massive databases.

 

Artificial Intelligence

 

  • Explores the field of artificial intelligence, or AI. People working in AI create programs that exhibit “intelligent behavior.”
  • Definition of AI, and discusses a range of example techniques and applications.
  • Discusses the issue of knowledge representation, and provides examples of some typical kinds of representation.
  • Describes how artificial neural networks work, their inspiration from real neurons, and the kinds of problems they can solve.
  • Explains how to describe problems in terms of a state space, and how state-space search algorithms work.
  • Uses the Watson program as a case study. Watson is a question-answering system designed to play the Jeopardy! game show; it competed successfully against champion players of the show.
  • Discussion of the current and future applications of robots and drones.

 

Computer Graphics and Entertainment

 

  • Explores the ways in which computing has become important in the development of movies, video games, and other computer-based entertainment.
  • Describes traditional animation techniques, and the development of computer-generated animation methods.
  • Describes the process of creating realistic images with computer graphics.
  • Introduces the differing challenges of generating images for dynamic video games, rather than static movies or still images.
  • Explains how GPUs inside modern computers enable higher-quality rendering of dynamic images.
  • Examines the growing use of multiplayer online games, both competitive games like World of Warcraft, and online communities like Second Life.

 

Making Ethical Decisions

 

  • Explores a variety of social and ethical issues relating to information technology.
  • Introduces a number of tools from ethics for use in evaluating social issues.
  • Demonstrates the use of ethical reasoning methods on specific case studies about computing.
  • Discusses issues including copyright, electronic surveillance, and hacking.
  • Discussion of issues an individual may face relating to computing, including cyberbullying, sexting, and the privacy of information online.

Additional Information

Course Length 4 Months
Prerequisites No
Course Materials No
Course Start Date

Courses Taught by a K12 Teacher

Courses with a teacher have designated start dates throughout Fall, Spring, and Summer. Full-year courses last 10 months and semester courses last 4 months. Courses are taught by teachers in K12 International Academy. For details on start dates, click here.

Teacher Assisted Yes, this course is taught by a K12 International Academy teacher. If you are looking for a teacher-supported option with additional flexibility and year-round start dates, click here to learn about the Keystone School, another K12 online private schooling option.
  1. Be the first to review this product