tag:open.umn.edu,2005:/opentextbooks/subjects/programming-languages?page=1Open Textbook Library - Programming Languages Textbooks2023-04-10T21:20:00Zhttps://open.umn.edu/assets/common/favicon/favicon-1594c2156c95ca22b1a0d803d547e5892bb0e351f682be842d64927ecda092e7.icohttps://open.umn.edu/assets/library/otl_logo-f9161d5c999f5852b38260727d49b4e7d7142fc707ec9596a5256a778f957ffc.png13962023-04-10T21:20:00Z2024-03-19T04:40:33ZPrealgebra via Python Programming: First Steps to Perform Large Scale Computational Tasks in the Sciences and Engineerings<img alt="Read more about Prealgebra via Python Programming: First Steps to Perform Large Scale Computational Tasks in the Sciences and Engineerings" title="Prealgebra via Python Programming: First Steps to Perform Large Scale Computational Tasks in the Sciences and Engineerings cover image" class="cover " width="806" height="1047" data-controller="common--cover" data-placeholder="/assets/common/placeholder-0e0607cbc50663ddb9e8fd188058bcd2630c730ef6ee322801278607b7d5af8e.png" src="/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6OTQyOSwicHVyIjoiYmxvYl9pZCJ9fQ==--b172bb0681a2206c609b0016ce0b884d2209bfbc/Screenshot%202023-08-22%20at%2010.22.25%20PM.png" />This book was written for students and instructors who want to learn how to use a computer for other than the most common uses, such as web browsing, document creation, or paying bills online. This book is for anyone who wants to perform computational tasks that they design. In other words, if you wish to learn how to program a computer, this book is for you. Because prealgebra is a subject that practically everyone is supposed to learn in grade school, it provides a platform to introduce basic computer programming concepts. Consequently, this book should also be of interest to students in middle or high school who want to learn how to program, and who are willing to invest the time and effort in learning a programming language that they could continue using throughout their schooling and in their professional life. Similarly, this book could also be of interest to pre-service and in-service mathematics teachers wishing to have at their disposal a complementary tool to assist in fostering understanding, competency, and interest in mathematics among their students. This book can be integrated with the teachers’ curriculum as way to tackle non-traditional math problems using an inexpensive modern computer language. By the end of the book, a reader will have learned enough to be able to write a preliminary, step-by-step one variable equation solver that can be expanded in the future to use with more complex equations. In other words, by the end of the book, you will be able to write code that programs their machines to solve equations. This code is foundational and readers are ecouraged to learn on their own how to build on it to suit their mathematics learning needs.13872023-04-03T18:33:31Z2024-03-18T13:34:47ZProgramación Web del Frontend al Backend<img alt="Read more about Programación Web del Frontend al Backend" title="Programación Web del Frontend al Backend cover image" class="cover " width="1131" height="1600" data-controller="common--cover" data-placeholder="/assets/common/placeholder-0e0607cbc50663ddb9e8fd188058bcd2630c730ef6ee322801278607b7d5af8e.png" src="/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDY2NiwicHVyIjoiYmxvYl9pZCJ9fQ==--1acef9f7f8c359f061057b3436c76796e6af210c/submission_18_18_coverImage_es_ES.jpg" />En este libro se investigó los fundamentos de la programación web, así como las tecnologías esenciales para lograr crear aplicaciones web, tales como HTML y CSS. Se documentó los conceptos básicos de la programación Frontend utilizando el lenguaje de programación JavaScript, se documentó también los conceptos de la programación Backend utilizando el lenguaje de programación PHP. Este libro tiene como objetivo involucrarse en la programación web iniciando con el estudio del Frontend hasta el Backend con los conceptos básicos, códigos y ejemplos, utilizando tecnologías de programación gratuitas accesibles para cualquier estudiante, para llegar a crear aplicaciones dinámicas con acceso a base de datos. Como resultado se obtuvo que se puede llegar a crear aplicaciones web complejas utilizando tecnologías actuales gratuitas, con un diseño agradable, diseñándolo fácilmente con un Framework CSS como Bootstrap, y utilizando JQuery como una librería para crear rápidamente aplicaciones con JavaScript. Se utilizó además PHP por ser uno de los lenguajes más utilizados para crear aplicaciones conectadas a bases de datos MySQL.13722023-03-13T18:09:47Z2024-01-22T19:19:40ZProgramming Persistent Memory: A Comprehensive Guide for Developers<img alt="Read more about Programming Persistent Memory: A Comprehensive Guide for Developers" title="Programming Persistent Memory: A Comprehensive Guide for Developers cover image" class="cover " width="330" height="473" data-controller="common--cover" data-placeholder="/assets/common/placeholder-0e0607cbc50663ddb9e8fd188058bcd2630c730ef6ee322801278607b7d5af8e.png" src="/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDYxNywicHVyIjoiYmxvYl9pZCJ9fQ==--2240dd4e7b440f5a142b100dde288cb2ed6c7686/Screen%20Shot%202023-03-13%20at%201.09.35%20PM.png" />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. This revolutionary new technology gives applications significant performance and capacity improvements over existing technologies. It requires a new way of thinking and developing, which makes this highly disruptive to the IT/computing industry. The full spectrum of industry sectors that will benefit from this technology include, but are not limited to, in-memory and traditional databases, AI, analytics, HPC, virtualization, and big data. Programming Persistent Memory describes the technology and why it is exciting the industry. It covers the operating system and hardware requirements as well as how to create development environments using emulated or real persistent memory hardware. The book explains fundamental concepts; provides an introduction to persistent memory programming APIs for C, C++, JavaScript, and other languages; discusses RMDA with persistent memory; reviews security features; and presents many examples. Source code and examples that you can run on your own systems are included. What You’ll Learn Understand what persistent memory is, what it does, and the value it brings to the industry Become familiar with the operating system and hardware requirements to use persistent memory Know the fundamentals of persistent memory programming: why it is different from current programming methods, and what developers need to keep in mind when programming for persistence Look at persistent memory application development by example using the Persistent Memory Development Kit (PMDK) Design and optimize data structures for persistent memory Study how real-world applications are modified to leverage persistent memory Utilize the tools available for persistent memory programming, application performance profiling, and debugging Who This Book Is For C, C++, Java, and Python developers, but will also be useful to software, cloud, and hardware architects across a broad spectrum of sectors, including cloud service providers, independent software vendors, high performance compute, artificial intelligence, data analytics, big data, etc.11972022-07-07T18:08:47Z2024-01-22T14:52:32ZMathematical Modeling and Simulation with MATLAB<img alt="Read more about Mathematical Modeling and Simulation with MATLAB" title="Mathematical Modeling and Simulation with MATLAB cover image" class="cover " width="1276" height="1108" data-controller="common--cover" data-placeholder="/assets/common/placeholder-0e0607cbc50663ddb9e8fd188058bcd2630c730ef6ee322801278607b7d5af8e.png" src="/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzgwNCwicHVyIjoiYmxvYl9pZCJ9fQ==--b098b6dbadbc0f3095d28c826b8451272b9ff681/Screen%20Shot%202022-07-07%20at%201.08.12%20PM.png" />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.11672022-06-15T19:39:46Z2024-01-22T14:52:31ZPatterns for Beginning Programmers<img alt="Read more about Patterns for Beginning Programmers" title="Patterns for Beginning Programmers cover image" class="cover " width="768" height="993" data-controller="common--cover" data-placeholder="/assets/common/placeholder-0e0607cbc50663ddb9e8fd188058bcd2630c730ef6ee322801278607b7d5af8e.png" src="/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzczNCwicHVyIjoiYmxvYl9pZCJ9fQ==--4e5fef9e763bba59835efbde53da3cbf37d81533/cover-1-768x993.png" />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.9252020-10-19T02:09:50Z2024-01-22T19:04:03ZFirst Semester in Numerical Analysis with Python<img alt="Read more about First Semester in Numerical Analysis with Python" title="First Semester in Numerical Analysis with Python cover image" class="cover " width="611" height="678" data-controller="common--cover" data-placeholder="/assets/common/placeholder-0e0607cbc50663ddb9e8fd188058bcd2630c730ef6ee322801278607b7d5af8e.png" src="/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY1MywicHVyIjoiYmxvYl9pZCJ9fQ==--5c62bc2558ad896ff74a1077a2bebdfa5eef586a/Numerical%20analysis.PNG" />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. The first chapter of the book has a self-contained tutorial for Python, including how to set up the computer environment. Anaconda, the open-source individual edition, is recommended for an easy installation of Python and effortless management of Python packages, and the Jupyter environment, a web-based interactive development environment for Python as well as many other programming languages, was used throughout the book and is recommended to the readers for easy code development, graph visualization and reproducibility.9152020-09-29T01:32:50Z2024-01-22T14:52:12ZThe Crystal Ball Instruction Manual - version 1.1 Volume One: Introduction to Data Science<img alt="Read more about The Crystal Ball Instruction Manual - version 1.1 Volume One: Introduction to Data Science" title="The Crystal Ball Instruction Manual - version 1.1 Volume One: Introduction to Data Science cover image" class="cover " width="432" height="648" data-controller="common--cover" data-placeholder="/assets/common/placeholder-0e0607cbc50663ddb9e8fd188058bcd2630c730ef6ee322801278607b7d5af8e.png" src="/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MjE4OCwicHVyIjoiYmxvYl9pZCJ9fQ==--d726493174b50f2f954ef9182a5ea3bac512ea0f/cover-trim-no-fold-front_cover-62fb6749-f75d-4235-a460-e936fec93c10.jpg" />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.9072020-08-20T02:30:03Z2024-01-22T14:52:12ZThink Raku: How to Think Like a Computer Scientist - 2nd edition<img alt="Read more about Think Raku: How to Think Like a Computer Scientist - 2nd edition" title="Think Raku: How to Think Like a Computer Scientist - 2nd edition cover image" class="cover " width="500" height="656" data-controller="common--cover" data-placeholder="/assets/common/placeholder-0e0607cbc50663ddb9e8fd188058bcd2630c730ef6ee322801278607b7d5af8e.png" src="/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTQzNSwicHVyIjoiYmxvYl9pZCJ9fQ==--64ffe9a7435e0c38e4f1800c7b62aef490e8acb1/thinkperl6.jpg" />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. Think Raku is an introduction to computer science and programming intended for people with little or no experience. This aim of this book is not primarily to teach Raku, but instead to teach the art of programming, using the Raku language. After having completed this book, you should hopefully be able to write programs to solve relatively difficult problems in Raku, but my main aim is to teach computer science, software programming, and problem solving rather than solely to teach the Raku language itself. Think Raku is a free book available under a Creative Commons license. Readers are free to copy and distribute the text; they are also free to modify it, which allows them to adapt the book to different needs, and to help develop new material.7352019-06-29T15:09:02Z2024-01-22T14:52:04ZIntroduction to Programming using Fortran 95/2003/2008<img alt="Read more about Introduction to Programming using Fortran 95/2003/2008" title="Introduction to Programming using Fortran 95/2003/2008 cover image" class="cover " width="652" height="844" data-controller="common--cover" data-placeholder="/assets/common/placeholder-0e0607cbc50663ddb9e8fd188058bcd2630c730ef6ee322801278607b7d5af8e.png" src="/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NjgwLCJwdXIiOiJibG9iX2lkIn19--94a6928950ef9a742bc476af7e397cf3b4950911/0000ProFortra.png" />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.7342019-06-29T14:33:43Z2024-01-22T14:52:04ZMIPS Assembly Language Programming using QtSpim<img alt="Read more about MIPS Assembly Language Programming using QtSpim" title="MIPS Assembly Language Programming using QtSpim cover image" class="cover " width="719" height="887" data-controller="common--cover" data-placeholder="/assets/common/placeholder-0e0607cbc50663ddb9e8fd188058bcd2630c730ef6ee322801278607b7d5af8e.png" src="/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6Njc5LCJwdXIiOiJibG9iX2lkIn19--d58e1a0054be2f52e442197d840f2be4fb2bd582/0000MIPSQTSPI.png" />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.
https://open.umn.edu/opentextbooks/subjects/programming-languages?page=2