Skip to topic | Skip to bottom
Home
Main
Main.ProgrammingFundamentalsr1.3 - 26 Apr 2007 - 22:59 - Main.novatopic end

Start of topic | Skip to actions

Programming Fundamentals

Programming Paradigms

  • Procedural programming
  • Functional programming
  • Object-oriented programming
  • Event-Driven programming
  • Logic Programming

Fundamental programming constructs: Basic syntax and semantics of a higher-level language

  • Variables
  • Types
    • Elementary types
    • Pointers
    • Structured types
      • Array
      • Record
      • String
    • Product and coproduct types
    • Algebraic types
    • Recursive types
    • Arrow (function) types
    • Parameterized types
    • User-defined types
    • Abstract data types
  • Expressions
    • Order of evaluation
    • Side effects
  • Assignments
  • Arithmetic Operations
  • Simple I/O
  • Control flow
    • Sequential
    • Conditional
    • Iterative
    • Recursive
  • Procedures
  • Functions
  • Parameters
    • Pass by reference
    • Pass by value
    • Pass by name
    • Pass by result
    • Pass by sharing
    • Pass by value-result

Algorithms and problem-solving

  • Problem-solving strategies
  • Algorithms: concepts & properties
  • Algorithms: implementation
    • Testing
    • Debugging strategies

Data structures and Abstract Data Types (ADT)

  • Linked Structures
  • Hash Table
  • Heap
  • Advanced Data Structures
  • Set ADT
  • Dictionary
  • Graph
  • Queue
  • Stack
  • Tree
  • Implementation strategies
  • Selection strategy

Recursion

  • The concept of recursion
  • Recursive mathematical functions
  • Simple recursive procedures
  • Divide-and-conquer strategies
  • Recursive backtracking
  • Implementation of recursion
  • Recursive algorithms

Event-Driven Programming

  • Event-handling methods
  • Event propagation
  • Managing concurrency in event handling
  • Exception handling
  • Asynchronous I/O

Object-oriented design

  • Polymorphism (subtype polymorphism vs. inheritance)
  • Class hierarchies: Classes and subclasses
  • Collection classes and iteration protocols
  • Class objects
  • Design patterns
  • Reuse
  • Encapsulation and information-hiding
  • Separation of behavior and implementation
  • Inheritance (overriding, dynamic dispatch)

Component-based computing

  • API programming
  • Class browsers and related tools
  • Debugging in the API environment
  • Using APIs
  • Middleware

to top

You are here: Main > VillanovaWikiPages > OntologyProject > ProgrammingFundamentals

to top

Copyright © 1999-2009 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback