Foundations of Computer Science by Lawrence C Paulson
Advertisement
Foundations of Computer Science by Lawrence C Paulson
Foundations of Computer Science by Lawrence C Paulson
This
note has two objectives. First is to teach programming. Second is to present
some fundamental principles of computer science, especially algorithm design.
Major topics covered includes: Recursive Functions, O Notation: Estimating
Costs in the Limit, Lists, Sorting, Datatypes and Trees, Dictionaries and
Functional Arrays, Queues and Search Strategies, Functions as Values, List
Functionals, Polynomial Arithmetic, Sequences, or Lazy Lists, Elements of
Procedural Programming, and Linked Data Structures.
This lecture note covers introduction, Informal Propositional Logic,
The Formal Syntax of Propositional Logic,Functions Defined Recursively on PL, Semantics of Propositional Logic, Logical
Connectives, Natural Deduction, Normal Forms and Resolution in Propositional
Logic.
This
note covers the following topics: Components of a Computer System, Input Devices
and Output Devices, PrimaryStorage and Secondary Storage Devices, Number
Systems, Boolean algebra and Logic Circuits, Computer Software, Programming
Languages and Program Development, Popular Operating System.
This
lecture note explains the following topics: Cluster Computing, Scalable Parallel
Computer Architectures, Components for Clusters, Cluster Middleware and Single
System Image, Evolution of Metacomputing, Load Sharing and Balancing, Grid
Computing, Cloud Computing, Virtual Machine and its Provisioning, Time and
Space-shared Provisioning.
This note covers the following
topics: Computing: The Functional Way, Computing Tool, Algorithms: Design and
Refinement, Technical Completeness and Algorithms, Introducing Reals,
Correctness, Termination and Complexity, Compound Data, Higher Order Functions
and Structured Data, Imperative Programming.
Foundations of
Computer Science covers subjects that are often found split between a discrete
mathematics course and a sophomore-level sequence in computer science in data
structure. So here the author's intention is to select the
mathematical foundations with an eye toward what the computer user really needs,
rather than what a mathematician might choose.