Recent Changes - Search:

Test

edit SideBar

ACM-BoK

CISC 106: Intro to Computer Science 1 (for Engineers)

Programming Fundamentals

  • PF/FundamentalConstructs [core] [6 of 9]
    • Topics:
      • Basic syntax and semantics of a higher-level language
      • Variables, types, expressions, and assignment (mutation)
      • Simple I/O
      • Conditional and iterative control structures
      • Functions and parameter passing
      • Structured decomposition
  • PF/AlgorithmicProblemSolving [core][2 of 6]
    • Topics:
      • Problem-solving strategies
      • The role of algorithms in the problem-solving process [introduction]
      • The concept and properties of algorithms [introduce termination, space-time efficiency, that they don't necessarily follow from the data representation]
  • PF/DataStructures [core][2 of 10]
    • Topics:
      • Arrays
      • Strings and string processing [no coverage of underlying representation]
      • Linked structures [no explicit pointer manipulation]
      • Strategies for choosing the right data structure [few choices in 106]
  • PF/Recursion [core][2 of 4]
    • Topics:
      • The concept of recursion
      • Recursive mathematical functions
      • Simple recursive functions
  • PF/EventDriven [core][1 of 4]
    • Topics:
      • Event-handling methods
  • PF/ObjectOriented [core][2 of 8]
    • Topics:
      • Object-oriented design
      • Encapsulation and information-hiding
      • Separation of behavior and implementation
      • Classes

Algorithms and Complexity

  • AL/BasicAnalysis [core][1 of 4]
    • Topics:
      • Big O {Big O only: constant, linear, polynomial]
      • Empirical measurements of performance
      • Time and space tradeoffs in algorithms
  • AL/AlgorithmicStrategies [core][1 of 6]
    • Topics:
      • Brute-force algorithms
      • Divide-and-conquer
  • AL/FundamentalAlgorithms [core][2 of 12]
    • Topics:
      • Sequential and binary search algorithms
      • Quadratic sorting algorithms (selection, insertion)
      • O(N log N) sorting algorithms (Quicksort, heapsort, mergesort) [QUICKSORT ONLY]

Programming Languages

Note that there is currently a proposal to create a separate Functional Programming Core in the CS-BOK (the change is neutral in the total number of core hours).

  • PL/AbstractionMechanisms [core][1 of 3]
    • Topics:
      • Procedures, functions, and iterators as abstraction mechanisms [No Iterators in the strongly-typed sense (but functions on parametric types)
      • Type parameters and parameterized types
  • PL/ FunctionalProgramming [elective]
    • Topics:
      • Recursion over lists, natural numbers, trees, and other recursively-defined data [lists and NN only, no trees]
      • Closures and uses of functions as data (infinite sets, streams) [not explain closures, but used in anonymous functions]

Software Engineering

  • SE/SoftwareDesign [core][1 of 8]
    • Topics:
      • Fundamental design concepts and principles
      • The role and the use of contracts
      • Structured design
  • SE/UsingAPIs [core][0.5 of 3]
    • Topics:
      • Programming using APIs [built-in Python list and string APIs, Matlab]
Edit - History - Print - Recent Changes - Search
Page last modified on January 07, 2011, at 04:29 PM