Programming Languages Textbooks
Programming Persistent Memory: A Comprehensive Guide for Developers
Copyright Year: 2020
Contributor: Scargall
Publisher: Apress
License: CC BY
Beginning and experienced programmers will use this comprehensive guide to persistent memory programming. You will understand how persistent memory brings together several new software/hardware requirements, and offers great promise for better performance and faster application startup times—a huge leap forward in byte-addressable capacity compared with current DRAM offerings.
No ratings
(0 reviews)
Mathematical Modeling and Simulation with MATLAB
Copyright Year: 2021
Contributors: Lee and Buzby
Publisher: University of Alaska Southeast
License: CC BY-SA
This textbook attempts to provide you with an overview of the commonly used basic mathematical models, as well as a wide range of applications. It offers a perspective that brings you back to the modeling process and the assumptions that go into it.
(1 review)
Patterns for Beginning Programmers
Copyright Year: 2022
Contributor: Bernstein
Publisher: James Madison University
License: CC BY
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. Instead, it is about finding solutions to problems that arise when first learning to program.
(1 review)
First Semester in Numerical Analysis with Python
Contributor: Liu
Publisher: Auraria Institutional Repository
License: CC BY-NC-SA
The book is based on “First semester in Numerical Analysis with Julia”, written by Giray Ökten. The contents of the original book are retained, while all the algorithms are implemented in Python (Version 3.8.0). Python is an open source (under OSI), interpreted, general-purpose programming language that has a large number of users around the world. Python is ranked the third in August 2020 by the TIOBE programming community index, a measure of popularity of programming languages, and is the top-ranked interpreted language. We hope this book will better serve readers who are interested in a first course in Numerical Analysis, but are more familiar with Python for the implementation of the algorithms.
(2 reviews)
The Crystal Ball Instruction Manual - version 1.1 Volume One: Introduction to Data Science
Copyright Year: 2020
Contributor: Davies
Publisher: University of Mary Washington
License: CC BY-SA
A perfect introduction to the exploding field of Data Science for the curious, first-time student. The author brings his trademark conversational tone to the important pillars of the discipline: exploratory data analysis, choices for structuring data, causality, machine learning principles, and introductory Python programming using open-source Jupyter Notebooks. This engaging read will allow any dedicated learner to build the skills necessary to contribute to the Data Science revolution, regardless of background.
(2 reviews)
Think Raku: How to Think Like a Computer Scientist - 2nd edition
Copyright Year: 2017
Contributors: Rosenfeld and Downey
Publisher: Green Tea Press
License: CC BY-NC-SA
The title of this book was originally Think Perl 6, but since Perl 6 has been renamed Raku, we have also changed the title of the book.
(1 review)
Introduction to Programming using Fortran 95/2003/2008
Copyright Year: 2018
Contributor: Jorgensen
Publisher: Ed Jorgensen
License: CC BY-NC-SA
Computers are everywhere in our daily lives. Between the desktop, laptop, phone, bank, and vehicle, it is difficult to completely get away from computers. It only makes sense to learn a little about how a computer really works.This text provides an introduction to programming and problem solving using the Fortran 95/2003/2008 programming language. This introduction is geared for non-computer science majors. The primary focus is on an introduction to problem solving and algorithm development. As such, many details of the Fortran 95/2003/2008 language are omitted.
(1 review)
MIPS Assembly Language Programming using QtSpim
Copyright Year: 2017
Contributor: Jorgensen
Publisher: Ed Jorgensen
License: CC BY-NC-SA
There are a number of excellent, comprehensive, and in-depth texts on MIPS assembly language programming. This is not one of them.The purpose of this text is to provide a simple and free reference for university level programming and architecture units that include a brief section covering MIPS assembly language programming. The text assumes usage of the QtSpim simulator. An appendix is included that covers the download, installation, and basic use of the QtSpim simulator.The scope of this text addresses basic MIPS assembly language programming including instruction set usage, stacks, procedure/function calls, QtSpim simulator system services, multiple dimension arrays, and basic recursion.
No ratings
(0 reviews)
x86-64 Assembly Language Programming with Ubuntu
Copyright Year: 2019
Contributor: Jorgensen
Publisher: Ed Jorgensen
License: CC BY-NC-SA
The purpose of this text is to provide a reference for University level assembly language and systems programming courses. Specifically, this text addresses the x86-64 instruction set for the popular x86-64 class of processors using the Ubuntu 64-bit Operating System (OS). While the provided code and various examples should work under any Linux-based 64-bit OS, they have only been tested under Ubuntu 14.04 LTS (64-bit). The x86-64 is a Complex Instruction Set Computing (CISC) CPU design. This refers to the internal processor design philosophy. CISC processors typically include a wide variety of instructions (sometimes overlapping), varying instructions sizes, and a wide range of addressing modes. The term was retroactively coined in contrast to Reduced Instruction Set Computer (RISC3).
(2 reviews)
How to Think Like a Computer Scientist: C Version
Copyright Year: 1999
Contributors: Downey and Scheffler
Publisher: Green Tea Press
License: CC BY-NC
The goal of this book is to teach you to think like a computer scientist. I like the way computer scientists think because they combine some of the best features of Mathematics, Engineering, and Natural Science. Like mathematicians, computer scientists use formal languages to denote ideas (specifically computations). Like engineers, they design things, assembling components into systems and evaluating trade offs among alternatives. Like scientists, they observe the behavior of complex systems, form hypotheses, and test predictions.The single most important skill for a computer scientist is problem-solving. By that I mean the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately. As it turns out, the process of learning to program is an excellent opportunity to practice problem-solving skills. That’s why this chapter is called “The way of the program.”
(2 reviews)