This is a comprehensive textbook, covering some fundamental mathematical
concepts underlying computer science. It starts with basic proofs, induction,
and recursion; it proceeds to infinite sets, number theory, and graph theory.
Further, it outlines the practical usage in the area of communication networks,
along with some aspects of probability theory involving random variables and
random walks. This merge of mathematical theory with computer science
applications provides an excellent framework upon which students can base their
study of algorithms, data structures, and other computational concepts.
Author(s): Eric Lehman, F. Thomson Leighton, Alberty R.
Meyer
Introduction
to Theoretical Computer Science by Boaz Barak provides an overview of some
basic notions. This voluminous note starts with serious foundational mathematics
needed to understand the intricacies of computation. Among several models of
computation and their representations, he deals with finite and uniform
computations. Key topics: It presents efficient algorithms which are essential
in solving practical problems and randomized computation, one of whose important
features is to bring probabilistic methods into the design of algorithms.
Advanced topics broaden the knowledge further towards recent research and
trends. This note is intended for students and professionals at large who wish
to have a rigorous introduction to theoretical aspects and their practical
applications in computer science.
Overview
of Computer Science by Phillip Barty Crouch Junior is broad but detailed in most
key areas of computer science. It deals with algorithms, the prerequisite for
problem-solving and data processing. Data representation and logic form the
backbone through which computers understand and execute instructions and are
thus discussed. It does also touch on the topics of machine organization and
Moore's Law, referring to the exponential growth that has occurred in computing
power. It also covers topics in computer security and algorithmic complexity,
and software development practices. Python references and examples, with
practical problems will enable readers to understand and apply the content by
matching theory with hands-on programming.
This lecture note provides a thorough introduction to the principles
of propositional logic, an essential component of computer science. It begins
with informal propositional logic and then delves into formal syntax, covering
functions defined recursively and their semantics. The notes explore logical
connectives and their roles in constructing and evaluating logical statements.
Key topics include natural deduction, normal forms, and resolution methods,
which are crucial for reasoning about logical propositions and solving logical
problems. This resource is ideal for students seeking a solid foundation in
propositional logic and its applications in computer science.
These lecture notes
provide broad coverage of general issues in computer science, with an emphasis
on discrete mathematics and programming. The topics taught in this course range
from representational issues and computation of information, Standard ML,
recursion, imperative programming, and encoding of programs as strings. These
notes uniquely combine Boolean algebra and propositional logic with the
description of machine-oriented calculi such as analytical tableaux and
resolution for a wholesome understanding of both the theoretical and practical
aspects of computer science.
CS Unplugged is an
entertaining way to help learn about the basics of computer science, using
snacks, sorting games, and puzzles-none of which require a computer. The PDF
covers basic material like data representation, algorithms, and procedures
through to advanced and specialized topics such as intractability, cryptography,
and human-computer interaction. This is ideal for teachers and students alike
who seek knowledge about concepts in computer science using interactives with no
digital support; therefore, suitable for any environment where the learning
process takes place.
Dr. Chris Bourke's book
provides an extended textbook introduction to many core areas of computer
science. It covers the basics of programming: conditionals, loops, functions,
and error handling. More advanced topics concern dynamic memory, collections,
and file I/ using both procedural and object-oriented approaches. There are
chapters on searching and sorting algorithms, graphical user interface design,
and database connectivity. This resource serves well as a starting point, either
for beginners or intermediate learners, in terms of providing overall depth
regarding key concepts and best practices in the subject of programming.
Author(s): Dr. Chris Bourke, Department of
Computer Science and Engineering, University of Nebraska