Functional and flexible, this guide takes an objects-first approach to Java programming and problem using games and puzzles. Offers independent introductions to both a command-line interface and a graphical user interface (GUI). Features coverage of Unified Modeling Language (UML), the industry-standard, object-oriented design tool. Illustrates key...
How to Think Like a Computer Scientist is an introductory programming book based on the OCaml language. It is a modified version of Think Python by Allen Downey. It is intended for newcomers to programming and also those who know some programming but want to learn programming in the function-oriented paradigm, or those who simply want to learn OCam...
How to Think Like a Computer Scientist: Learning with Python - is an introduction to computer science using the Python programming language. It covers the basics of computer programming, including variables and values, functions, conditionals and control flow, program development and debugging. Later chapters cover basic algorithms and data structu...
C is a general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, with a static type system.
The C Programming Language Handbook follows the 80/20 rule: learn in 20% of the time the 80% of a topic. In particular, the goal is to get you up to speed quickly with C....
This is an introduction to the Go language from Google. Its aim is to provide a guide to this new and innovative language.
The intended audience of this book is people who are familiar with programming and know multiple programming languages,be it C, C++, Perl, Java, Erlang, Scala or Haskell. This is not a book which teaches you how to program, ...
Laravel is full of hidden gems, undocumented or less-known features, functions parameters and "hacks". While finding them in work of my team, I decided to compile them into an ebook....
There are many books and resources about Pascal out there, but too many of themtalk about the old Pascal, without classes, units or generics.
So I wrote this quick introduction to what I call modern Object Pascal. Most of theprogrammers using it don't really call it "modern Object Pascal", we just call it "ourPascal". Bu...
This open book is an introduction to algebra for undergraduates who are interested in careers which require a strong background in mathematics. It will benefit students studying computer science and physical sciences, who plan to teach mathematics in schools, or to work in industry or finance. The book assumes that the reader has a solid background...
It is increasingly clear that the shapes of reality - whether of the natural world, or of the built environment - are in some profound sense mathematical. Therefore it would benefit students and educated adults to understand what makes mathematics itself 'tick', and to appreciate why its shapes, patterns and formulae provide us with preci...
The way a user might perceive and use data and the optimal way a computer system might store it are often very different. In this Database Design Succinctly, learn how to model the user's information into data in a computer database system in such a way as to allow the system to produce useful results for the end user. Joseph D. Booth will cov...
Programming patterns are solutions to problems that require the creation of a small fragment of code that will be part of a larger program. Hence, this book is about teaching you how to write such fragments of code. However, it is not about teaching you the syntax of the statements in the fragments, it assumes that you already know the syntax. Inst...
Julia is a high-level, dynamic programming language. Its features are well suited for numerical analysis and computational science.
Julia works with other languages (C, Python, R, Rust, C++, SQL, JavaScript, ...)
The Purpose of this open book is to introduce programmers to the Julia programming by example. This is a simplified exposition of the l...
Erlang is the result of a project at Ericsson's Computer Science Laboratory to improve the programming of telecommunication applications. A critical requirement was supporting the characteristics of such applications, that include: massive concurrency, fault-tolerance, isolation, dynamic code upgrading at runtime, transactions.
Throughout t...
Freshly updated for GTK3, the 2nd edition of An Introduction to C & GUI Programming will teach you all you need to know to write simple programs in C and start creating GUIs, even if you're an absolute beginner.
The first half of the book is an introduction to C, and covers the basics of writing simple command-line programs. The second ...