Search Constraints
Number of results to display per page
Results for:
Keywords
Textbooks
Remove constraint Keywords: Textbooks
Year
2016
Remove constraint Year: 2016
Search Results
-
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
Most computer users have an incorrect, but useful, cognitive metaphor for computers in which the user says (or types or clicks) something and a mystical, almost intelligent or magical, behavior happens. It is not a stretch to describe computer users as believing computers follow the laws of magic, where some magic incantation is entered, and the computer responds with an expected, but magical, behavior. This magic computer does not actually exist. In reality computer are machines, and every action a computer performs reduces to a set of mechanical operations. In fact the first complete definition of a working computer was a mechanical machine designed by Charles Babbage in 1834, and would have run on steam power. Probably the biggest success of Computer Science (CS) in the 20th century was the development of abstractions that hide the mechanical nature of computers. The fact that average people use computers without ever considering that they are mechanistic is a triumph of CS designers. This purpose of this monograph is to break the abstract understanding of a computer, and to explain a computer's behavior in completely in mechanistic terms. It will deal specifically with the Central Processing Unit (CPU) of the computer, as this is where the magic happens. All other parts of a computer can be seen as just providing information for the CPU to operate on. This monograph will deal with a specific type of CPU, a one-address CPU, and will explain this CPU using only standard gates, specifically AND, OR, NOT, NAND and XOR gates, and 4 basic Integrated Circuits (ICs), the Decoder, Multiplexer, Adder, and Flip Flop. All of these gates and components can be described as mechanical transformations of input data to output data, and the overall CPU can then be seen as a mechanical device.
- Subjects:
- Computing
- Keywords:
- Computer science Textbooks
- Resource Type:
- e-book
-
e-book
Enterprise Pharo is the third volume of the series, following Pharo by Example and Deep into Pharo. It covers enterprise libraries and frameworks, and in particular those useful for doing web development. The book is structured in five parts. The first part talks about simple web applications, starting with a minimal web application in chapter 1 on Teapot and then a tutorial on building a more complete web application in chapter 2. Part two deals with HTTP support in Pharo, talking about character encoding in chapter 3, about using Pharo as an HTTP Client (chapter 4) and server (chapter 5), and about using WebSockets (chapter 6).In the third part we discuss the handling of data for the application. Firstly we treat data that is in the form of comma-separated values (CSV) in chapter 7. Secondly and thirdly, we treat JSON (chapter 8) and its Smalltalk counterpart STON (chapter 9). Fourthly, serialization and deserialization of object graphs with Fuel is treated in chapter 10. Lastly, we discuss the Voyage persistence framework and persisting to MongoDB databases in chapter 11. Part four deals with the presentation layer. Chapter 12 shows how to use Mustache templates in Pharo, and chapter 13 talks about programmatic generationof CSS files. The documentation of applications could be written in Pillar, which is presented in chapter 14. How to generate PDF files from the application with Artefact is shown in chapter 15. The fifth part deals with deploying the web application. This is explained in chapter 16 that talks not only about how to build and run the application, but also other important topics like monitoring.
- Subjects:
- Computing
- Keywords:
- Web site development -- Computer programs Textbooks Application software -- Development
- Resource Type:
- e-book
-
e-book
The exercises in this laboratory manual are designed to engage students in hand-on activities that reinforce their understanding of the microbial world. Topics covered include: staining and microscopy, metabolic testing, physical and chemical control of microorganisms, and immunology. The target audience is primarily students preparing for a career in the health sciences, however many of the topics would be appropriate for a general microbiology course as well.
- Subjects:
- Laboratory Techniques and Safety and Biology
- Keywords:
- Microbiology Laboratory manuals Textbooks
- Resource Type:
- e-book
-
e-book
This book was written to introduce students to assembly language programming in MIPS. As with all assemblylanguage programming texts, it covers basic operators and instructions, subprogram calling, loading andstoring memory, program control, and the conversion of the assembly language program into machine code. However this book was not written simply as a book on assembly language programming. The larger purposeof this text is to show how concepts in Higher Level Languages (HLL), such as Java or C/C++, arerepresented in assembly. By showing how program constructs from these HLL map into assembly, theconcepts will be easier to understand and use when the programmer implements programs in languages likeJava or C/C++. Concepts such as references and variables, registers, binary and Boolean operations, subprogram execution, memory types (heap, stack, and static), and array processing are covered to clarify thedecisions made when implementing HLL. Program control is presented using a mapping from structuredprograms in pseudo code to help students understand structured programming, and why it exists. Memoryaccess in assembly is presented to high light the difference between references (pointers) and values, and howthese impact HLL. This book has numerous code examples, and many problems at the end of each chapter, and it is appropriate for a class in Assembly Language, or as a extra resource for a class in Computer Organization.
- Subjects:
- Computing
- Keywords:
- Assembly languages (Electronic computers) Computer programming MIPS (Computer architecture) Textbooks
- Resource Type:
- e-book
-
e-book
Financial Strategy for Public Managers is a new generation textbook for financial management in the public sector. It offers a thorough, applied, and concise introduction to the essential financial concepts and analytical tools that today's effective public servants need to know. It starts “at the beginning” and assumes no prior knowledge or experience in financial management. Throughout the text, Kioko and Marlowe emphasize how financial information can and should inform every aspect of public sector strategy, from routine procurement decisions to budget preparation to program design to major new policy initiatives. They draw upon dozens of real-world examples, cases, and applied problems to bring that relationship between information and strategy to life. Unlike other public financial management texts, the authors also integrate foundational principles across the government, non-profit, and “hybrid/for-benefit” sectors. Coverage includes basic principles of accounting and financial reporting, preparing and analyzing financial statements, cost analysis, and the process and politics of budget preparation. The text also includes several large case studies appropriate for class discussion and/or graded assignments.
- Subjects:
- Management and Finance
- Keywords:
- Budget Public administration Finance Public -- Management Textbooks
- Resource Type:
- e-book
-
e-book
This trigonometry textbook is different than other trigonometry books in that it is free to download, and the reader is expected to do more than read the book and is expected to study the material in the book by working out examples rather than just reading about them. So this book is not just about mathematical content but is also about the process of learning and doing mathematics. That is, this book is designed not to be just casually read but rather to be engaged. Since this can be a difficult task, there are several features of the book designed to assist students in this endeavor. In particular, most sections of the book start with a beginning activity that review prior mathematical work that is necessary for the new section or introduce new concepts and definitions that will be used later in that section. Each section also contains several progress checks that are short exercises or activities designed to help readers determine if they are understanding the material. In addition, the text contains links to several interactive Geogebra applets or worksheets. These applets are usually part of a beginning activity or a progress check and are intended to be used as part of the textbook.
- Subjects:
- Mathematics and Statistics
- Keywords:
- Precalculus Trigonometry Textbooks
- Resource Type:
- e-book
-
e-book
As currently taught in the United States, introductory courses in analytical chemistry emphasize quantitative (and sometimes qualitative) methods of analysis along with a heavy dose of equilibrium chemistry. Analytical chemistry, however, is much more than a collection of analytical methods and an understanding of equilibrium chemistry; it is an approach to solving chemical problems. Although equilibrium chemistry and analytical methods are important, their coverage should not come at the expense of other equally important topics. The introductory course in analytical chemistry is the ideal place in the undergraduate chemistry curriculum for exploring topics such as experimental design, sampling, calibration strategies, standardization, optimization, statistics, and the validation of experimental results. Analytical methods come and go, but best practices for designing and validating analytical methods are universal. Because chemistry is an experimental science it is essential that all chemistry students understand the importance of making good measurements. My goal in preparing this textbook is to find a more appropriate balance between theory and practice, between “classical” and “modern” analytical methods, between analyzing samples and collecting samples and preparing them for analysis, and between analytical methods and data analysis. There is more material here than anyone can cover in one semester; it is my hope that the diversity of topics will meet the needs of different instructors, while, perhaps, suggesting some new topics to cover.
- Subjects:
- Chemistry
- Keywords:
- Chemistry Analytic -- Quantitative Textbooks
- Resource Type:
- e-book
-
e-book
This new and expanded edition is intended to help candidates prepare for entrance examinations in mathematics and scientific subjects, including STEP (Sixth Term Examination Paper). STEP is an examination used by Cambridge Colleges for conditional offers in mathematics. They are also used by some other UK universities and many mathematics departments recommend that their applicants practice on the past papers even if they do not take the examination. Advanced Problems in Mathematics bridges the gap between school and university mathematics, and prepares students for an undergraduate mathematics course. The questions analysed in this book are all based on past STEP questions and each question is followed by a comment and a full solution. The comments direct the reader’s attention to key points and put the question in its true mathematical context. The solutions point students to the methodology required to address advanced mathematical problems critically and independently.
- Subjects:
- Mathematics and Statistics
- Keywords:
- Mathematics Algebra Textbooks Geometry
- Resource Type:
- e-book
-
e-book
The traditional approach to teaching Organic Chemistry, taken by most of the textbooks that are currently available, is to focus primarily on the reactions of laboratory synthesis, with much less discussion - in the central chapters, at least - of biological molecules and reactions. This is despite the fact that, in many classrooms, a majority of students are majoring in Biology or Health Sciences rather than in Chemistry, and are presumably taking the course in order to learn about the chemistry that takes place in living things. In an effort to address this disconnect, I have developed a textbook for a two-semester, sophomore-level course in Organic Chemistry in which biological chemistry takes center stage. For the most part, the text covers the core concepts of organic structure, structure determination, and reactivity in the standard order. What is different is the context: biological chemistry is fully integrated into the explanation of central principles, and as much as possible the in-chapter and end-of-chapter problems are taken from the biochemical literature. Many laboratory synthesis reactions are also covered, generally in parallel with their biochemical counterparts - but it is intentionally the biological chemistry that comes first.
- Subjects:
- Chemistry
- Keywords:
- Chemistry Organic Textbooks
- Resource Type:
- e-book