Search Constraints
Number of results to display per page
Results for:
Keywords
Textbooks
Remove constraint Keywords: Textbooks
« Previous |
1 - 50 of 113
|
Next »
Search Results
-
e-book
Web Accessibility for Developers is a technical book aimed primarily at programmers. Learn how to develop accessible interactivity on the Web and gain expertise using WAI-ARIA, a W3C specification that enables optimal use of assistive technologies, like screen readers, when navigating the Web.
- Subjects:
- Computing
- Keywords:
- Web sites -- Design Computers people with disabilities Textbooks Accessible Web sites for people with disabilities
- Resource Type:
- e-book
-
e-book
Unmanned Aircraft Systems are an integral part of the US national critical infrastructure. The authors have endeavored to bring a breadth and quality of information to the reader that is unparalleled in the unclassified sphere. This textbook will fully immerse and engage the reader / student in the cyber-security considerations of this rapidly emerging technology that we know as unmanned aircraft systems (UAS). The first edition topics covered National Airspace (NAS) policy issues, information security (INFOSEC), UAS vulnerabilities in key systems (Sense and Avoid / SCADA), navigation and collision avoidance systems, stealth design, intelligence, surveillance and reconnaissance (ISR) platforms; weapons systems security; electronic warfare considerations; data-links, jamming, operational vulnerabilities and still-emerging political scenarios that affect US military / commercial decisions.
- Subjects:
- Computing
- Keywords:
- Drone aircraft Computer security Textbooks United States
- Resource Type:
- e-book
-
e-book
With much of the world gone digital, learning to create documents that are accessible to everyone is becoming a necessary skill. Intended for a general audience, this free resource reviews a wide range of document authoring applications, including the tools they contain for creating accessible documents, and tests them to ensure they do not contain potential barriers. Learn how to create accessible word processed documents, spreadsheets, presentation slides, and PDF documents, among others, so they are accessible to everyone.
- Subjects:
- Computing
- Keywords:
- Textbooks Accessible Web sites for people with disabilities
- Resource Type:
- e-book
-
e-book
"Whether you choose to work in an electrical trade, a mechanical trade, or one of the construction trades, you will probably be faced with using and/or maintaining a variety of electrical measuring instruments. This Competency will introduce you to three basic meters for measuring voltage, current, and resistance. You must have a basic understanding of the purpose and operation of each type of meter before you attempt to use one. If you connect a meter incorrectly, you not only risk damaging the instrument, but more importantly, you or some innocent bystander could receive a serious electrical shock"--BC Campus website.
- Subjects:
- Electronic and Information Engineering and Electrical Engineering
- Keywords:
- Textbooks Voltohmmeters
- Resource Type:
- e-book
-
e-book
" It is important for you to be familiar with techniques for soldering electrical connections and how to use wireless connectors. For example, the ends of the finely stranded wires used for power supply cords on most portable power tools are soldered to permit a long-lasting, troublefree connection. Solder also produces secure, durable electrical connections for switches, plugs, and tools. Wireless connectors are commonly used in many electrical applications because they are quick and easy to use"--BC Campus website.
- Subjects:
- Electrical Engineering
- Keywords:
- Electric wiring Textbooks
- Resource Type:
- e-book
-
e-book
"Many types of electric devices are used in almost every trade. Mechanical trades will find electrical devices in every motor-driven vehicle. Construction trades will encounter them in most construction projects. To be able to recognize or troubleshoot electrical devices, you must be familiar with the correct terminology and symbols used to identify them"--BC Campus website.
- Subjects:
- Electrical Engineering
- Keywords:
- Electric circuits Textbooks
- Resource Type:
- e-book
-
e-book
"You will use electricity daily. Vehicles and machinery are started and often operated by electricity. Electric tools make the performance of your job easier and more efficient. However, to use electricity safely and effectively, it is important to understand electricity's terminology and principles.The following list of lines and competencies was generated with the goal of creating an entry-level trades training resource, while still offering the flexibility for lines to be used as stand-alone books. E-1 Describe the Basic Principles of Electricity, E-2 Identify Common Circuit Components and Their Symbols, E-3 Explain Wiring Connections, E-4 Use Multimeters"--BC Campus website.
- Subjects:
- Electrical Engineering
- Keywords:
- Textbooks Electricity
- Resource Type:
- e-book
-
e-book
"Every job is different and may have special requirements. Anticipating these requirements and planning accordingly is vital to ensuring that you have the materials, tools, and time to complete the job. To do this effectively you will need to have a clear understanding of the overall job. You will need to know what materials are required and be able to record organized and accurate notes on the time and materials used when the job is complete. Planning ahead saves time and money and makes a job more profitable. Effectively managing time and resources, including materials, and keeping detailed notes is very important whether you are working for another company or on your own. It allows your company to be more competitive and also provides a good base for estimating the costs of similar jobs in the future"--BC Campus website.
- Subjects:
- Electronic and Information Engineering, Electrical Engineering, and Mechanical Engineering
- Keywords:
- Textbooks Stards Engineering
- Resource Type:
- e-book
-
e-book
"Document use is one of the nine essential skills identified by the Government of Canada to be successful in the workplace. It refers to the skills needed to find, enter, and use letters, numbers, symbols, and images in electronic and paper form. In the trades, people use document literacy skills to find and enter information in forms, lists, tables, graphs, maps, and drawings"--BC Campus website.
- Subjects:
- Electronic and Information Engineering, Electrical Engineering, and Mechanical Engineering
- Keywords:
- Textbooks Stards Engineering
- Resource Type:
- e-book
-
e-book
"Some of the most important documents used in the workplace are the technical drawings, diagrams, and schematics that specify how fabrication and construction tasks will be carried out, or describe the composition and assembly of equipment. One of the essential skills for anyone involved in a trade is the ability to correctly interpret drawings. If you are in a construction or fabrication industry, you will need to be able to examine a drawing, take information from it, and visualize the finished product. If you are in a service or maintenance industry, you will need to interpret exploded drawings in order to properly repair or assemble equipment"--BC Campus website.
- Subjects:
- Electronic and Information Engineering, Electrical Engineering, and Mechanical Engineering
- Keywords:
- Architecture -- Designs plans Textbooks
- Resource Type:
- e-book
-
e-book
"Codes, regulations, standards, specifications, and recommended practices are used in all aspects of construction, fabrication, manufacturing, and inspection. The following list of lines and competencies was generated with the goal of creating an entry-level trades training resource, while still offering the flexibility for lines to be used as stand-alone books. Line D - Organizational Skills. D-1 Solve Trades Mathematical Problems, D-2 Apply Science Concepts to Trades Applications, D-3 Read Drawings and Specifications, D-4 Use Codes, Regulations, and Standards, D-5 Use Manufacturer and Supplier Documentation, D-6 Plan Projects."--BC Campus website.
- Subjects:
- Electronic and Information Engineering, Electrical Engineering, and Mechanical Engineering
- Keywords:
- Textbooks Stards Engineering
- Resource Type:
- e-book
-
e-book
"This Competency introduces the basic principles governing the structure and the behaviour of solids, liquids, and gases. You will look at the effects forces have on objects and the basic machines that transmit a force. You will also examine the effects of thermal and electrical energy. The following list of lines and competencies was generated with the goal of creating an entry-level trades training resource, while still offering the flexibility for lines to be used as stand-alone books. Line D - Organizational Skills. D-1 Solve Trades Mathematical Problems, D-2 Apply Science Concepts to Trades Applications, D-3 Read Drawings and Specifications, D-4 Use Codes, Regulations, and Standards, D-5 Use Manufacturer and Supplier Documentation, D-6 Plan Projects."--BC Campus website.
- Subjects:
- Electronic and Information Engineering, Electrical Engineering, and Mechanical Engineering
- Keywords:
- Textbooks Building trades Industrial arts
- Resource Type:
- e-book
-
e-book
"Hand tools are used in almost every trade, but many of them have particular applications in a specific trade. It is likely you have used some of these tools already at work, at school, or at home, but this may be the first time you have had the chance to study some of the tools' designs and applications in detail. The following list of lines and competencies was generated with the goal of creating an entry-level trades training resource, while still offering the flexibility for lines to be used as stand-alone books. Line C - Tools and Equipment. C-1 Describe Common Hand Tools and Their Uses, C-2 Describe Common Power Tools and Their Uses, C-3 Describe Rigging and Hoisting Equipment, C-4 Describe Ladders and Platforms."--BC Campus website.
- Subjects:
- Electronic and Information Engineering, Electrical Engineering, and Mechanical Engineering
- Keywords:
- Hoisting machinery Textbooks Hoisting machinery -- Rigging
- Resource Type:
- e-book
-
e-book
"Power tools play a major role in virtually every trade. You will be expected to be familiar with a wide range of portable and stationary power tools and to understand the safe operation of these tools. Proper maintenance improves the life and performance of the tool. Correct set-up and operating procedures ensure good results and prevent injury. The following list of lines and competencies was generated with the goal of creating an entry-level trades training resource, while still offering the flexibility for lines to be used as stand-alone books. Line C - Tools and Equipment. C-1 Describe Common Hand Tools and Their Uses, C-2 Describe Common Power Tools and Their Uses, C-3 Describe Rigging and Hoisting Equipment, C-4 Describe Ladders and Platforms."--BC Campus website.
- Subjects:
- Electronic and Information Engineering, Electrical Engineering, and Mechanical Engineering
- Keywords:
- Textbooks Power tools
- Resource Type:
- e-book
-
e-book
"Hand tools are used in almost every trade, but many of them have particular applications in a specific trade. It is likely you have used some of these tools already at work, at school, or at home, but this may be the first time you have had the chance to study some of the tools' designs and applications in detail. The following list of lines and competencies was generated with the goal of creating an entry-level trades training resource, while still offering the flexibility for lines to be used as stand-alone books. Line C - Tools and Equipment. C-1 Describe Common Hand Tools and Their Uses, C-2 Describe Common Power Tools and Their Uses, C-3 Describe Rigging and Hoisting Equipment, C-4 Describe Ladders and Platforms."--BC Campus website.
- Subjects:
- Electronic and Information Engineering, Electrical Engineering, and Mechanical Engineering
- Keywords:
- Tools Textbooks
- Resource Type:
- e-book
-
e-book
Think Stats is an introduction to Probability and Statistics for Python programmers. Think Stats emphasizes simple techniques you can use to explore real data sets and answer interesting questions. The book presents a case study using data from the National Institutes of Health. Readers are encouraged to work on a project with real datasets. If you have basic skills in Python, you can use them to learn concepts in probability and statistics. Think Stats is based on a Python library for probability distributions (PMFs and CDFs). Many of the exercises use short programs to run experiments and help readers develop understanding.
- Subjects:
- Computing and Mathematics and Statistics
- Keywords:
- Textbooks Statistics -- Computer programs
- Resource Type:
- e-book
-
e-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.
- Subjects:
- Computing
- Keywords:
- Computer programming Programming languages (Electronic computers) Textbooks
- Resource Type:
- e-book
-
e-book
Think Python is a concise introduction to software design using the Python programming language. Intended for people with no programming experience, this book starts with the most basic concepts and gradually adds new material. Some of the ideas students find most challenging, like recursion and object-oriented programming, are divided into a sequence of smaller steps and introduced over the course of several chapters. This textbook has been used in classes atBard College,Olin College of Engineering, University of California, Santa Barbara, University of Maine, University of Northern Colorado.
- Subjects:
- Computing
- Keywords:
- Computer programming Python (Computer program language) Textbooks Programming languages (Electronic computers)
- Resource Type:
- e-book
-
e-book
Think Java is a hands-on introduction to computer science and programming used by many universities and high schools around the world. Its conciseness, emphasis on vocabulary, and informal tone make it particularly appealing for readers with little or no experience. The book starts with the most basic programming concepts and gradually works its way to advanced object-oriented techniques. In this fully updated and expanded edition, authors Allen Downey and Chris Mayfield introduce programming as a means for solving interesting problems. Each chapter presents material for one week of a college course and includes exercises to help you practice what you’ve learned. Along the way, you’ll see nearly every topic required for the AP Computer Science A exam and Java SE Programmer I certification.
- Subjects:
- Computing
- Keywords:
- Java (Computer program language) Computer programming Programming languages (Electronic computers) Textbooks
- Resource Type:
- e-book
-
e-book
Data structures and algorithms are among the most important inventions of the last 50 years, and they are fundamental tools software engineers need to know. But in my opinion, most of the books on these topics are too theoretical, too big, and too bottom-up: Too theoretical: Mathematical analysis of algorithms is based on simplifying assumptions that limit its usefulness in practice. Many presentations of this topic gloss over the simplifications and focus on the math. In this book I present the most practical subset of this material and eliminate the rest. Too big: Most books on these topics are at least 500 pages, and some are more than 1000. By focusing on the topics I think are most useful for software engineers, I kept this book under 250 pages. Too bottom-up: Many data structures books focus on how data structures work (the implementations), with less about how to use them (the interfaces). In this book, I go “top down”, starting with the interfaces. Readers learn to use the structures in the Java Collections Framework before getting into the details of how they work. Finally, many present this material out of context and without motivation: it’s just one damn data structure after another! I try to alleviate the boredom by organizing the topics around an application—web search—that uses data structures extensively, and is an interesting and important topic in its own right. This application also motivates some topics that are not usually covered in an introductory data structures class, including persistent data structures, with Redis, and streaming algorithms. This book also presents basic aspects of software engineering practice, including version control and unit testing. Each chapter ends with an exercise that allows readers to apply what they have learned. Each exercise includes automated tests that check the solution. And for most exercises, I present my solution at the beginning of the next chapter. This book is intended for college students in computer science and related fields, as well as professional software engineers, people training in software engineering, and people preparing for technical interviews. I assume that the reader knows Java at an intermediate level, but I explain some Java features along the way, and provide pointers to supplementary material. People who have read Think Java or Head First Java are prepared for this book.
- Subjects:
- Computing
- Keywords:
- Java (Computer program language) Data structures (Computer science) Textbooks
- Resource Type:
- e-book
-
e-book
Think DSP is an introduction to Digital Signal Processing in Python. The premise of this book (and the other books in the Think X series) is that if you know how to program, you can use that skill to learn other things. The author is writing this book because he thinks the conventional approach to digital signal processing is backward: most books (and the classes that use them) present the material bottom-up, starting with mathematical abstractions like phasors.
- Subjects:
- Electrical Engineering and Computing
- Keywords:
- Signal processing -- Digital techniques -- Data processing Python (Computer program language) Textbooks
- Resource Type:
- e-book
-
e-book
This book is about complexity science, data structures and algorithms, intermediate programming in Python, and the philosophy of science: Data structures and algorithms: A data structure is a collection that contains data elements organized in a way that supports particular operations. For example, a dictionary organizes key-value pairs in a way that provides fast mapping from keys to values, but mapping from values to keys is generally slower. An algorithm is a mechanical process for performing a computation. Designing efficient programs often involves the co-evolution of data structures and the algorithms that use them. For example, the first few chapters are about graphs, a data structure that is a good implementation of a graph---nested dictionaries---and several graph algorithms that use this data structure. Python programming: This book picks up where Think Python leaves off. I assume that you have read that book or have equivalent knowledge of Python. As always, I will try to emphasize fundmental ideas that apply to programming in many languages, but along the way you will learn some useful features that are specific to Python. Computational modeling: A model is a simplified description of a system that is useful for simulation or analysis. Computational models are designed to take advantage of cheap, fast computation. Philosophy of science: The models and results in this book raise a number of questions relevant to the philosophy of science, including the nature of scientific laws, theory choice, realism and instrumentalism, holism and reductionism, and Bayesian epistemology. This book focuses on discrete models, which include graphs, cellular automata, and agent-based models. They are often characterized by structure, rules and transitions rather than by equations. They tend to be more abstract than continuous models; in some cases there is no direct correspondence between the model and a physical system. Complexity science is an interdisciplinary field---at the intersection of mathematics, computer science and physics---that focuses on these kinds of models. That's what this book is about.
- Subjects:
- Computing
- Keywords:
- Computational complexity Python (Computer program language) Textbooks
- Resource Type:
- e-book
-
e-book
Think Bayes is an introduction to Bayesian statistics using computational methods. The premise of this book, and the other books in the Think X series, is that if you know how to program, you can use that skill to learn other topics. Most books on Bayesian statistics use mathematical notation and present ideas in terms of mathematical concepts like calculus. This book uses Python code instead of math, and discrete approximations instead of continuous mathematics. As a result, what would be an integral in a math book becomes a summation, and most operations on probability distributions are simple loops. I think this presentation is easier to understand, at least for people with programming skills. It is also more general, because when we make modeling decisions, we can choose the most appropriate model without worrying too much about whether the model lends itself to conventional analysis. Also, it provides a smooth development path from simple examples to real-world problems.
- Subjects:
- Computing and Mathematics and Statistics
- Keywords:
- Bayesian statistical decision theory Python (Computer program language) Textbooks
- Resource Type:
- e-book
-
e-book
This text is a practical guide for linguists, and programmers, who work with data in multilingual computational environments. We introduce the basic concepts needed to understand how writing systems and character encodings function, and how they work together at the intersection between the Unicode Standard and the International Phonetic Alphabet. Although these standards are often met with frustration by users, they nevertheless provide language researchers and programmers with a consistent computational architecture needed to process, publish and analyze lexical data from the world's languages. Thus we bring to light common, but not always transparent, pitfalls which researchers face when working with Unicode and IPA. Having identified and overcome these pitfalls involved in making writing systems and character encodings syntactically and semantically interoperable (to the extent that they can be), we created a suite of open-source Python and R tools to work with languages using orthography profiles that describe author- or document-specific orthographic conventions. In this cookbook we describe a formal specification of orthography profiles and provide recipes using open source tools to show how users can segment text, analyze it, identify errors, and to transform it into different written forms for comparative linguistics research.
- Subjects:
- Language and Languages and Computing
- Keywords:
- Language languages -- Orthography spelling Unicode (Computer character set) Textbooks
- Resource Type:
- e-book
-
e-book
Spec is the default UI framework for Pharo. To build UI's in Spec existing widgets or even complete UI's are reused and configured to form a new UI. This book first shows the basics of Spec and how it enables reuse of UIs. It then treats UI layout in detail before moving on to explaining the management of windows. Some of the more advanced widgets are also discussed as well as the dynamic features of Spec. Lastly, the book also contains a chapter with tips and tricks.
- Subjects:
- Computing
- Keywords:
- Textbooks Smalltalk-80 (Computer program language)
- Resource Type:
- e-book
-
e-book
The Little Book of Semaphores is a free (in both senses of the word) textbook that introduces the principles of synchronization for concurrent programming. In most computer science curricula, synchronization is a module in an Operating Systems class. OS textbooks present a standard set of problems with a standard set of solutions, but most students don't get a good understanding of the material or the ability to solve similar problems. The approach of this book is to identify patterns that are useful for a variety of synchronization problems and then show how they can be assembled into solutions. After each problem, the book offers a hint before showing a solution, giving students a better chance of discovering solutions on their own. The book covers the classical problems, including "Readers-writers," "Producer-consumer", and "Dining Philosophers." In addition, it collects a number of not-so-classical problems, some written by the author and some by other teachers and textbook writers. Readers are invited to create and submit new problems.
- Subjects:
- Computing
- Keywords:
- Computer programming Operating systems (Computers) Textbooks
- Resource Type:
- e-book
-
e-book
We organize things, we organize information, we organize information about things, and we organize information about information. But even though “organizing” is a fundamental and ubiquitous challenge, when we compare these activities their contrasts are more apparent than their commonalities. We propose to unify many perspectives about organizing with the concept of an Organizing System, defined as an intentionally arranged collection of resources and the interactions they support. Every Organizing System involves a collection of resources, a choice of properties or principles used to describe and arrange resources, and ways of supporting interactions with resources. By comparing and contrasting how these activities take place in different contexts and domains, we can identify patterns of organizing. We can create a discipline of organizing in a disciplined way. The 4th edition builds a bridge between organizing and data science. It reframes descriptive statistics as organizing techniques, expands the treatment of classification to include computational methods, and incorporates many new examples of data-driven resource selection, organization, maintenance, and personalization. It introduces a new “data science” category of discipline-specific content, both in the chapter text and in endnotes, marked with [DS] in editions that contain endnotes.
- Subjects:
- Industrial and Systems Engineering
- Keywords:
- Metadata Information resources management Information organization Textbooks
- Resource Type:
- e-book
-
e-book
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.
- Subjects:
- Computing
- Keywords:
- Data mining Computer science Artificial intelligence Textbooks
- Resource Type:
- e-book
-
e-book
Squeak is a modern open-source development environment for the classic Smalltalk-80 programming language. Despite being the first purely object-oriented language and environment, Smalltalk is in many ways still far ahead of its successors in promoting a vision of an environment where everything is an object, and anything can change at run-time. Squeak by Example, intended for both students and developers, will guide you gently through the Squeak language and environment by means of a series of examples and exercises. The book helps you get started with A Quick Tour of Squeak and guides you through A First Application. The Smalltalk language is introduced in three chapters on Syntax in a Nutshell, Understanding Message Syntax and The Smalltalk Object Model. Development with Squeak is covered in The Squeak Programming Environment and SUnit. Several of the key classes are presented in chapters on Basic Classes, Collections, Streams and Morphic. The first edition of the book concludes with chapters on Classes and Metaclasses and Frequently Asked Questions.
- Subjects:
- Computing
- Keywords:
- Multimedia systems Squeak Textbooks Smalltalk-80 (Computer program language)
- Resource Type:
- e-book
-
e-book
In this book, you will learn how digital signals are captured, represented, processed, communicated, and stored in computers. The specific topics we will cover include: physical properties of the source information (such as sound or images), devices for information cap- ture (microphones, cameras), digitization, compression, digital signal representation (JPEG, MPEG), digital signal processing (DSP), and network communication. By the end of this book, you should understand the problems and solutions facing signal computing systems development in the areas of user interfaces, information retrieval, data structures and algo- rithms, and communications.
- Subjects:
- Computing
- Keywords:
- Signal processing -- Digital techniques Textbooks
- Resource Type:
- e-book
-
e-book
This text is a free introductory text that introduces MS Access and relational database design. The motivation is to support a second-year course on database systems which, to the student, is either a service course providing an introduction to database concepts, or, as a prerequisite for more advanced study in the field.
- Subjects:
- Computing
- Keywords:
- Microsoft Access Relational databases Textbooks
- Resource Type:
- e-book
-
e-book
I never seemed to find the perfect data-oriented Python book for my course, so I set out to write just such a book. Luckily at a faculty meeting three weeks before I was about to start my new book from scratch over the holiday break, Dr. Atul Prakash showed me the Think Python book which he had used to teach his Python course that semester. It is a well-written Computer Science text with a focus on short, direct explanations and ease of learning.The overall book structure has been changed to get to doing data analysis problems as quickly as possible and have a series of running examples and exercises about data analysis from the very beginning. Chapters 2–10 are similar to the Think Python book, but there have been major changes. Number-oriented examples and exercises have been replaced with data- oriented exercises. Topics are presented in the order needed to build increasingly sophisticated data analysis solutions. Some topics like try and except are pulled forward and presented as part of the chapter on conditionals. Functions are given very light treatment until they are needed to handle program complexity rather than introduced as an early lesson in abstraction. Nearly all user-defined functions have been removed from the example code and exercises outside of Chapter 4. The word “recursion”1 does not appear in the book at all. In chapters 1 and 11–16, all of the material is brand new, focusing on real-world uses and simple examples of Python for data analysis including regular expressions for searching and parsing, automating tasks on your computer, retrieving data across the network, scraping web pages for data, object-oriented programming, using web services, parsing XML and JSON data, creating and using databases using Structured Query Language, and visualizing data. The ultimate goal of all of these changes is a shift from a Computer Science to an Informatics focus is to only include topics into a first technology class that can be useful even if one chooses not to become a professional programmer.
- Subjects:
- Computing
- Keywords:
- Computer programming Programming languages (Electronic computers) Textbooks Python (Computer program language)
- Resource Type:
- e-book
-
e-book
Unlike some other textbooks, this one does not follow a top-down narrative. Rather it has the flow of a conversation, with backtracking. We will often build up programs incrementally, just as a pair of programmers would. We will include mistakes, not because I don't know the answer, but because this is the best way for you to learn. Including mistakes makes it impossible for you to read passively: you must instead engage with the material, because you can never be sure of the veracity of what you're reading. At the end, you'll always get to the right answer. However, this non-linear path is more frustrating in the short term (you will often be tempted to say, “Just tell me the answer, already!”), and it makes the book a poor reference guide (you can't open up to a random page and be sure what it says is correct). However, that feeling of frustration is the sensation of learning. I don't know of a way around it. At various points you will encounter this: ExerciseThis is an exercise. Do try it. This is a traditional textbook exercise. It's something you need to do on your own. If you're using this book as part of a course, this may very well have been assigned as homework. In contrast, you will also find exercise-like questions that look like this: Do Now!There's an activity here! Do you see it? When you get to one of these, stop. Read, think, and formulate an answer before you proceed. You must do this because this is actually an exercise, but the answer is already in the book—most often in the text immediately following (i.e., in the part you're reading right now)—or is something you can determine for yourself by running a program. If you just read on, you'll see the answer without having thought about it (or not see it at all, if the instructions are to run a program), so you will get to neither (a) test your knowledge, nor (b) improve your intuitions. In other words, these are additional, explicit attempts to encourage active learning. Ultimately, however, I can only encourage it; it's up to you to practice it. The main programming language used in this book is Racket. Like with all operating systems, however, Racket actually supports a host of programming languages, so you must tell Racket which language you're programming in. This textbook has been used in classes at: Brown University, Cal Poly, Columbus State University, Northeastern University, NYU, Reed College, UC-San Diego, UC-Santa Cruz, University of Rhode Island, University of Utah, Westmont College, Williams College, Worcester Polytechnic Institute.
- Subjects:
- Computing
- Keywords:
- Programming languages (Electronic computers) Textbooks
- Resource Type:
- e-book
-
e-book
Programming Fundamentals - A Modular Structured Approach using C++ is written by Kenneth Leroy Busbee, a faculty member at Houston Community College in Houston, Texas. The materials used in this textbook/collection were developed by the author and others as independent modules for publication within the Connexions environment. Programming fundamentals are often divided into three college courses: Modular/Structured, Object Oriented and Data Structures. This textbook/collection covers the first of those three courses. The learning modules of this textbook/collection were written as standalone modules. Students using a collection of modules as a textbook will usually view it contents by reading the modules sequentially as presented by the author of the collection. The learning modules of this textbook/collection were, for the most part, written without consideration of a speci??c programming language. In many cases the C++ language is discussed as part of the explanation of the concept. Often the examples used for C++ are exactly the same for the Java programming language. However, some modules were written speci??cally for the C++ programming language. This could not beavoided as the C++ language is used in conjunction with this textbook/collection by the author in teaching college courses.
- Subjects:
- Computing
- Keywords:
- Computer programming C++ (Computer program language) Programming languages (Electronic computers) Textbooks
- Resource Type:
- e-book
-
e-book
Digital accessibility skills are in high demand, as the world becomes more aware of barriers in digital content that prevent some people from participating in a digital society. These are essential skills for web developers, and essential knowledge for organizations that want to ensure their web content is reaching the broadest audience possible.
- Subjects:
- Computing
- Keywords:
- Web sites -- Design Computers people with disabilities Textbooks Accessible Web sites for people with disabilities
- Resource Type:
- e-book
-
e-book
Most books that use MATLAB are aimed at readers who know how to program. This book is for people who have never programmed before. As a result, the order of presentation is unusual. The book starts with scalar values and works up to vectors and matrices very gradually. This approach is good for beginning programmers, because it is hard to understand composite objects until you understand basic programming semantics. But there are problems: The MATLAB documentation is written in terms of matrices, and so are the error messages. To mitigate this problem, the book explains the necessary vocabulary early and deciphers some of the messages that beginners find confusing. Many of the examples in the first half of the book are non-standard MATLAB. I address this problem in the second half by translating the examples into a more idiomatic style. The book puts a lot of emphasis on functions, in part because they are an important tool for controlling program complexity, and also because they are useful for working with MATLAB tools like fzero and ode45. I assume that readers know calculus, differential equations, and physics, but not linear algebra. I explain the math as I go along, but the descriptions might not be enough for someone who hasn't seen the material before. There are small exercises within each chapter, and a few larger exercises at the end of some chapters.
-
e-book
Pharo is an open-source, elegant and pure object-oriented language that supports truly immersive and life programming experience. Pharo offers excellent tools such as hot-debuggers and on the fly code update that change the programming experience. More at http://www.pharo.org.Pharo is a powerful language and IDE that companies use to deliver complex business-effective applications. More at: http://www.pharo.org/success In Pharo everything is an object, and anything can change at run-time under your fingers. Pharo is written in itself you can explore a complete world. You can feel and talk to objects. But Pharo does not stop there, with Pharo you can improve your object-oriented skills by rediscovering the essence of object-oriented programming. Pharo by Example 50, intended for both students and developers, will guide you gently through the Pharo language and environment by means of a series of examples and exercises. This book is available under the Creative Commons Attribution-ShareAlike 3.0 license.
- Subjects:
- Computing
- Keywords:
- Textbooks Smalltalk-80 (Computer program language)
- Resource Type:
- e-book
-
e-book
In this book, you will learn about all three kinds of interaction. In all three cases, interesting software techniques are needed in order to bring the computations into contact, yet keep them suffciently at arm's length that they don't compromise each other's reliability. The exciting challenge, then, is supporting controlled interaction. This includes support for computations that share a single computer and interact with one another, as your email and word processing programs do. It also includes support for data storage and network communication. This book describes how all these kinds of support are provided both by operating systems and by additional software layered on top of operating systems, which is known as middleware. Chapter 1 provides an overview of the text as a whole, explaining what an operating system is, what middleware is, and what sorts of support these systems provide for controlled interaction. The next nine chapters work through the varieties of controlled interac- tion that are exemplified by the scenario at the beginning of the preface: in- teraction between concurrent computations on the same system (as between your email program and your word processor), interaction across time (as between your word processor before your trip and your word processor after your trip), and interaction across space (as between your email program and your service provider's email server). The first of these three topics is controlled interaction between computa- tions operating at one time on a particular computer. Before such interaction can make sense, you need to understand how it is that a single computer can be running more than one program, such as an email program in one window and a word processing program in another. Therefore, Chapter 2 explains the fundamental mechanism for dividing a computer's attention between concurrent computations, known as threads. Chapter 3 continues with the related topic of scheduling. That is, if the computer is dividing its time between computations, it needs to decide which ones to work on at any moment. With concurrent computations explained, Chapter 4 introduces con- trolled interactions between them by explaining synchronization, which is control over the threads' relative timing. For example, this chapter explains how, when your email program sends a document to your word processor, the word processor can be constrained to read the document only after the email program writes it. One particularly important form of synchroniza- tion, atomic transactions, is the topic of Chapter 5. Atomic transactions are groups of operations that take place as an indivisible unit; they are most commonly supported by middleware, though they are also playing an increasing role in operating systems. Other than synchronization, the main way that operating systems con- trol the interaction between computations is by controlling their access to memory. Chapter 6 explains how this is achieved using the technique known as virtual memory. That chapter also explains the many other objectives this same technique can serve. Virtual memory serves as the foundation for Chapter 7's topic, which is processes. A process is the fundamental unit of computation for protected access, just as a thread is the fundamental unit of computation for concurrency. A process is a group of threads that share a protection environment; in particular, they share the same access to virtual memory. The next three chapters move outside the limitations of a single com- puter operating in a single session. First, consider the document stored before a trip and available again after it. Chapter 8 explains persistent storage mechanisms, focusing particularly on the file storage that operat- ing systems provide. Second, consider the interaction between your email program and your service provider's email server. Chapter 9 provides an overview of networking, including the services that operating systems make available to programs such as the email client and server. Chapter 10 ex- tends this discussion into the more sophisticated forms of support provided by communication middleware, such as messaging systems, RMI, and web services. Finally, Chapter 11 focuses on security. Because security is a pervasive issue, the preceding ten chapters all provide some information on it as well. Specifically, the final section of each chapter points out ways in which se- curity relates to that chapter's particular topic. However, even with that coverage distributed throughout the book, a chapter specifically on security is needed, primarily to elevate it out of technical particulars and talk about general principles and the human and organizational context surrounding the computer technology. The best way to use these chapters is in consecutive order. However, Chapter 5 can be omitted with only minor harm to Chapters 8 and 10, and Chapter 9 can be omitted if students are already suffciently familiar with networking.
- Subjects:
- Computing
- Keywords:
- Operating systems (Computers) Computer software -- Development Textbooks Middleware
- Resource Type:
- e-book
-
e-book
This textbook teaches introductory data structures.
- Subjects:
- Computing
- Keywords:
- Textbooks Data structures (Computer science) Java (Computer program language)
- Resource Type:
- e-book
-
e-book
Offered as an introduction to the field of data structures and algorithms, Open Data Structures covers the implementation and analysis of data structures for sequences (lists), queues, priority queues, unordered dictionaries, ordered dictionaries, and graphs. Focusing on a mathematically rigorous approach that is fast, practical, and efficient, Morin clearly and briskly presents instruction along with source code. Analyzed and implemented in Java, the data structures presented in the book include stacks, queues, deques, and lists implemented as arrays and linked-lists; space-efficient implementations of lists; skip lists; hash tables and hash codes; binary search trees including treaps, scapegoat trees, and red-black trees; integer searching structures including binary tries, x-fast tries, and y-fast tries; heaps, including implicit binary heaps and randomized meldable heaps; graphs, including adjacency matrix and adjacency list representations; and B-trees. A modern treatment of an essential computer science topic, Open Data Structures is a measured balance between classical topics and state-of-the art structures that will serve the needs of all undergraduate students or self-directed learners.
- Subjects:
- Computing
- Keywords:
- Data structures (Computer science) Computer algorithms Textbooks
- Resource Type:
- e-book
-
e-book
The documentation is missing or obsolete, and the original developers have departed. Your team has limited understanding of the system, and unit tests are missing for many, if not all, of the components. When you fix a bug in one place, another bug pops up somewhere else in the system. Long rebuild times make any change difficult. All of these are signs of software that is close to the breaking point. Many systems can be upgraded or simply thrown away if they no longer serve their purpose. Legacy software, however, is crucial for operations and needs to be continually available and upgraded. How can you reduce the complexity of a legacy system sufficiently so that it can continue to be used and adapted at acceptable cost? Based on the authors' industrial experiences, this book is a guide on how to reverse engineer legacy systems to understand their problems, and then reengineer those systems to meet new demands. Patterns are used to clarify and explain the process of understanding large code bases, hence transforming them to meet new requirements. The key insight is that the right design and organization of your system is not something that can be evident from the initial requirements alone, but rather as a consequence of understanding how these requirements evolve.
- Subjects:
- Computing
- Keywords:
- Software reengineering Object-oriented programming (Computer science) Software patterns Textbooks
- Resource Type:
- e-book
-
e-book
Microwave and RF Design: Transmission Lines builds on the concepts of forward- and backward-traveling waves. Many examples are included of advanced techniques for analyzing and designing transmission line networks with microstrip lines primarily used in design examples. Coupled-lines are an important functional element in microwave circuits, and circuit equivalents of coupled lines are introduced as fundamental building blocks in design. The text and examples introduce the often hidden design requirements of mitigating parasitic effects and eliminating unwanted modes of operation. This book is suitable as both an undergraduate and graduate textbook, as well as a career-long reference book.
- Subjects:
- Electronic and Information Engineering
- Keywords:
- Microwave transmission lines Radio circuits -- Design construction Textbooks Microwaves
- Resource Type:
- e-book
-
e-book
Microwave and RF Design: Radio Systems is a circuits- and systems-oriented approach to modern microwave and RF systems. Sufficient details at the circuits and sub-system levels are provided to understand how modern radios are implemented. Design is emphasized throughout. The evolution of radio from what is now known as 0G, for early radio, through to 6G, for sixth generation cellular radio, is used to present modern microwave and RF engineering concepts. Two key themes unify the text: 1) how system-level decisions affect component, circuit and subsystem design; and 2) how the capabilities of technologies, components, and subsystems impact system design. This book is suitable as both an undergraduate and graduate textbook, as well as a career-long reference book.
- Subjects:
- Electronic and Information Engineering
- Keywords:
- Microwave devices -- Design Microwaves Radio circuits -- Design construction Textbooks
- Resource Type:
- e-book
-
e-book
Microwave and RF Design: Networks presents the tools and techniques required to analyze and design microwave and RF circuits. Because of the finite speed of light, microwave circuits must be considered to be spatially distributed and so there is not a single ground. As such metrics that can be used to describe power flow are of most use. The topics covered include scattering parameters, signal flow graphs, and Smith charts. Acquiring expertise in these is the biggest barriers to a successful career in microwave and RF engineering. This book is suitable as both an undergraduate and graduate textbook, as well as a career-long reference book.
- Subjects:
- Electronic and Information Engineering
- Keywords:
- Microwave devices Microwaves Radio circuits -- Design construction Textbooks
- Resource Type:
- e-book
-
e-book
Microwave and RF Design: Modules focuses on the design of systems based on microwave modules. The use of modules has become increasingly important in RF and microwave engineering for rapidly realizing high performance microwave systems. When integration is ultimately to be used, building a system up using modules provides a rapid means of prototyping and testing system concepts. A wide variety of RF modules including amplifiers, local oscillators, switches, circulators, isolators, phase detectors, frequency multipliers and dividers, phase-locked loops, and direct digital synthesizers are considered. Detailed design strategies for synthesizing filters based on parallel coupled lines are presented. The reader will gain an appreciation of design by synthesis. This book is suitable as both an undergraduate and graduate textbook, as well as a career-long reference book.
- Subjects:
- Electronic and Information Engineering
- Keywords:
- Microwave devices Microwaves Radio circuits -- Design construction Textbooks
- Resource Type:
- e-book
-
e-book
Microwave and RF Design: Amplifiers and Oscillators presents the design of amplifiers and oscillators in a way that enables state-of-the-art designs to be realized. Detailed strategies and case studies are presented. Design of competitive microwave amplifiers and oscillators is particularly challenging as many trade-offs are required in design, and the design decisions cannot be reduced to a formulaic flow. The emphasis is on developing design skills. This book is suitable as both an undergraduate and graduate textbook, as well as a career-long reference book.
-
e-book
Este trabajo ha sido desarrollado gracias a la interacción como docente universitario en la enseñanza teórica y práctica de la materia de microprocesadores con diversos grupos de estudiantes por alrededor de 15 años. Es con sus exigencias, cuestionamientos y colaboraciones con sus proyectos prácticos implementados en los cursos dictados, que se ha podido construir una guía comprensiva, que trate de responder de una forma adecuada las múltiples dudas de los estudiantes en su proceso de aprendizaje. La disponibilidad de tiempo en el aula de clase muchas veces no es suficiente para responder las inquietudes de los estudiantes; así que, se espera que con este trabajo se contribuya a proporcionar al lector un cúmulo de información que le ayuden de una manera práctica y escalonada a comprender la base teórica de los microprocesadores de Intel y sus derivados (capítulos 1 al 15), con implementaciones prácticas básicas (capítulo 16). Al final se citan libros de referencia que pueden consultarse para profundizar los temas tratados.
- Subjects:
- Computing
- Keywords:
- United States Microprocessors Textbooks
- Resource Type:
- e-book
-
e-book
This textbook provides an introduction to the important area of manufacturing processes. This text will explain the hows, whys, and whens of various machining operations, set-ups, and procedures. Throughout this text, you will learn how machine tools operate, and when to use one particular machine instead of another. It is organized for students who plan to enter the manufacturing technology field and for those who wish to develop the skills, techniques, and knowledge essential for advancement in this occupational cluster. The organization and contents of this text focus primarily on theory and practice. The machining processes and technology sections in this textbook cover such machine tools as surface grinders, bandsaws, drill presses, milling machines, and the engine lathe. Additionally, the importance of Computer Numerical Control (CNC) in the operation of the most machine tools is explained, and its role in automated manufacturing is explored thoroughly.
- Subjects:
- Industrial and Systems Engineering
- Keywords:
- Manufacturing processes Production engineering Textbooks
- Resource Type:
- e-book
-
e-book
This book will teach you how to make graphical computer games in the Python programming language using the Pygame library.This book assumes you know a little bit about Python or programming in general. If you don’t know how to program, you can learn by downloading the free book "Invent Your Own Computer Games with Python" from http://inventwithpython.com. Or you can jump right into this book and mostly pick it up along the way. This book is for the intermediate programmer who has learned what variables and loops are, but now wants to know, "What do actual game programs look like?" There was a long gap after I first learned programming but didn’t really know how to use that skill to make something cool. It’s my hope that the games in this book will give you enough ideas about how programs work to provide a foundation to implement your own games.
- Subjects:
- Computing
- Keywords:
- Computer programming Computer games Python (Computer program language) Textbooks Programming languages (Electronic computers)
- Resource Type:
- e-book
-
e-book
We have designed this third edition of Java, Java, Java to be suitable for a typical Introduction to Computer Science (CS1) course or for a slightly more advanced Java as a Second Language course. This edition retains the “objects first” approach to programming and problem solving that was characteristic of the first two editions. Throughout the text we emphasize careful coverage of Java language features, introductory programming concepts, and object-oriented design principles. The third edition retains many of the features of the first two editions, including: Early Introduction of Objects Emphasis on Object Oriented Design (OOD) Unified Modeling Language (UML) Diagrams Self-study Exercises with Answers Programming, Debugging, and Design Tips. From the Java Library Sections Object-Oriented Design Sections End-of-Chapter Exercises Companion Web Site, with Power Points and other Resources The In the Laboratory sections from the first two editions have been moved onto the book's Companion Web Site. Table 1 shows the Table of Contents for the third edition.
- Subjects:
- Computing
- Keywords:
- Java (Computer program language) Computer programming Programming languages (Electronic computers) Textbooks
- Resource Type:
- e-book
- « Previous
- Next »
- 1
- 2
- 3