Introduction to Computer Science(CSCI-UA-0101.001/002)
Spring 2014 -- Section 1 (Honors) and Section 2
Professor: Andrew Case

Midterm1 Study Guide

Updates: None

The topics covered on the exam will include topics discussed in class and reading assignments made up through class #9 (Midterm Review).

No outside materials are allowed on the exam. You will be provided with some Java API documentation (subject to updates) for use during the exam.

It may be wise to peruse some midterm1 sample questions to get an idea of the test format and some sample problems.

Midterm List of Topics

This is NOT an exhaustive list. Please refer to the class reading assignments.

Readings

Suggested Programming Exercises

Concepts

Programming Basics

    Computer overview
        - Hardware/Software
        - Programs
    Programming Intro
        - High/Low Level Languages
        - Anatomy of a Program
        - Natural Languages vs. Programming Languages
        - Coding Style
        - Algorithms
        - Pseudo-Code
        - Program design pattern (Writing a program)
    Programming Concepts
        - Keywords
        - Statements
        - Data Types
            + Strings, ints, floats
        - Operators
            + Order of precedence
        - Comments
        - Variables/Constants
            + Assignment
            + Naming (including coding style)
        - Data Input
        - Type Conversion
        - Data Output
            + Strings, ints, floats
    Coding Style
        - comments, naming, consistency, hardcoding, 

Flow Control

    Boolean Logic
        - Literals, variables, expressions
        - Boolean Data Type
        - Comparision Operators
        - Boolean Logic Operators
            + not, and, or
            + Truth tables
            + order of operator precedence
            + short circuit evaluation
        - Converting base 10 to base 2
    Control Structures
        - if, if-else, if-elif-else
        - Nested if constructs
        - Loops
            - For loops
            - While Loops
            - Break
            - Continue

Functions

    Functions
        - Why functions
        - Function declarations/definition
            + name
            + parameters
                - required/optional
            + code
            + return value
        - Function calls (calling functions)
            + program design with functions
            + paramaters (data in)
                - order/types
            + return values (data out)
            + side-effects
        - Variable scope
            + global/class variables/constants
            + local/function variables
        - Libraries/Imports/External Functions
            + java.lang.Math
            + java.util.Scanner

Arrays

    Arrays
        - Creating arrays
        - Array storage
        - Modifying arrays
        - Adding to arrays


© 2010-2014 Andrew I. Case