Search Constraints
Number of results to display per page
Results for:
Search Results
-
e-book
Teoria, analisis y sintesis de tecnicas de diseño para sistemas de teleomunicaciones que operan en el rango de 1GHz a 100 GHZ
- Subjects:
- Electronic and Information Engineering
- Keywords:
- Microwaves Microwave circuits -- Design construction Microwave integrated circuits -- Design construction Textbooks
- Resource Type:
- e-book
-
e-book
Modelado Conceptual y Lógico de Bases de Datos a través de ejemplos
- Subjects:
- Computing
- Keywords:
- Database design Textbooks
- Resource Type:
- e-book
-
e-book
Este libro es una introducción al area de la Inteligencia Artificial y presenta algunas de las aplicaciones que puede tener en la vida real en diversos campos de aplicación, El libro esta compuesto de ocho capítulos los cuales abarcan los antededentes, algunos conceptos importantes para la resolución de problemas como es la representación de conocimiento, el planteamiento de los problemas. Asimismo se menciona la teoría de agentes por un lado y por otro lo que es el aprendizaje computacional. Otra area que se aborta es la computación evolutivo y los algoritmos bioinspirados para la resolución de problemas, dandole enfasis a los problemas de optimizacion. Por ultimo se menciona una nueva tendencia en el area de las ciencias computacionales como es el uso de las GPUs para trabajar de una manera mas rapida al realizar el procesamiento en paralelo.
- Subjects:
- Computing
- Keywords:
- Artificial intelligence Textbooks
- Resource Type:
- e-book
-
e-book
This is a complete college textbook, including a detailed Table of Contents, seventeen Chapters (each with a set of relevant homework problems), a list of References, two Appendices, and a detailed Index. The book is intended to enable students to: Solve first-, second-, and higher-order, linear, time-invariant (LTI) ordinary differential equations (ODEs) with initial conditions and excitation, using both time-domain and Laplace-transform methods; Solve for the frequency response of an LTI system to periodic sinusoidal excitation and plot this response in standard form; Explain the role of the time constant in the response of a first-order LTI system, and the roles of natural frequency, damping ratio, and resonance in the response of a second-order LTI system; Derive and analyze mathematical models (ODEs) of low-order mechanical systems, both translational and rotational, that are composed of inertial elements, spring elements, and damping devices; Derive and analyze mathematical models (ODEs) of low-order electrical circuits composed of resistors, capacitors, inductors, and operational amplifiers; Derive (from ODEs) and manipulate Laplace transfer functions and block diagrams representing output-to-input relationships of discrete elements and of systems; Define and evaluate stability for an LTI system; Explain proportional, integral, and derivative types of feedback control for single-input, single-output (SISO), LTI systems; Sketch the locus of characteristic values, as a control parameter varies, for a feedback-controlled SISO, LTI system; Use MATLAB as a tool to study the time and frequency responses of LTI systems. The book's general organization is: Chapters 1-10 deal primarily with the ODEs and behaviors of first-order and second-order dynamic systems; Chapters 11 and 12 discuss the ODEs and behaviors of mechanical systems having two degrees of freedom, i.e., fourth-order systems; Chapters 13 and 14 introduce classical feedback control; Chapter 15 presents the basic features of proportional, integral, and derivative types of classical control; Chapters 16 and 17 discuss methods for analyzing the stability of classical control systems. The general minimum prerequisite for understanding this book is the intellectual maturity of a junior-level (third-year) college student in an accredited four-year engineering curriculum. A mathematical second-order system is represented in this book primarily by a single second-order ODE, not in the state-space form by a pair of coupled first-order ODEs. Similarly, a two-degrees-of-freedom (fourth-order) system is represented by two coupled second-order ODEs, not in the state-space form by four coupled first-order ODEs. The book does not use bond graph modeling, the general and powerful, but complicated, modern tool for analysis of complex, multidisciplinary dynamic systems. The homework problems at the ends of chapters are very important to the learning objectives, so the author attempted to compose problems of practical interest and to make the problem statements as clear, correct, and unambiguous as possible. A major focus of the book is computer calculation of system characteristics and responses and graphical display of results, with use of basic (not advanced) MATLAB commands and programs. The book includes many examples and homework problems relevant to aerospace engineering, among which are rolling dynamics of flight vehicles, spacecraft actuators, aerospace motion sensors, and aeroelasticity. There are also several examples and homework problems illustrating and validating theory by using measured data to identify first- and second-order system dynamic characteristics based on mathematical models (e.g., time constants and natural frequencies), and system basic properties (e.g., mass, stiffness, and damping). Applications of real and simulated experimental data appear in many homework problems. The book contains somewhat more material than can be covered during a single standard college semester, so an instructor who wishes to use this as a one-semester course textbook should not attempt to cover the entire book, but instead should cover only those parts that are most relevant to the course objectives.
- Keywords:
- Differential equations Engineering mathematics Differential equations Partial Textbooks
- Resource Type:
- e-book
-
e-book
This book was written for an experimental freshman course at the University of Colorado. The course is now an elective that the majority of our electrical and computer engineering students take in the second semester of their freshman year, just before their first circuits course. Our department decided to offer this course for several reasons: we wanted to pique student' interest in engineering by acquainting them with engineering teachers early in their university careers and by providing with exposure to the types of problems that electrical and computer engineers are asked to solve; we wanted students entering the electrical and computer engineering programs to be prepared in complex analysis, phasors, and linear algebra, topics that are of fundamental importance in our discipline; we wanted students to have an introduction to a software application tool, such as MATLAB, to complete their preparation for practical and efficient computing in their subsequent courses and in their professional careers; we wanted students to make early contact with advanced topics like vector graphics, filtering, and binary coding so that they would gain a more rounded picture of modern electrical and computer engineering. In order to introduce this course, we had to sacrifice a second semester of Pascal programming. We concluded that the sacrifice was worth making because we found that most of our students were prepared for high-level language computing after just one semester of programming. We believe engineering educators elsewhere are reaching similar conclusions about their own students and curriculums. We hope this book helps create a much needed dialogue about curriculum revision and that it leads to the development of similar introductory courses that encourage students to enter and practice our craft.Students electing to take this course have completed one semester of calculus, computer programming, chemistry, and humanities. Concurrently with this course, students take physics and a second semester of calculus, as well as a second semester in the humanities. By omitting the advanced topics marked by asterisks, we are able to cover Complex Numbers through Linear Algebra, plus two of the three remaining chapters. The book is organized so that the instructor can select any two of the three. If every chapter of this book is covered, including the advanced topics, then enough material exists for a two-semester course. The first three chapters of this book provide a fairly complete coverage of complex numbers, the functions e^x and e^jand phasors. Our department philosophy is that these topics must be understood if a student is to succeed in electrical and computer engineering. These three chapters may also be used as a supplement to a circuits course. A measured pace of presentation, taking between sixteen and eighteen lectures, is sufficient to cover all but the advanced sections in Complex Numbers through Phasors. The chapter on "linear algebra" is prerequisite for all subsequent chapters. We use eight to ten lectures to cover it. We devote twelve to sixteen lectures to cover topics from Vector Graphics through Binary Codes. (We assume a semester consisting of 42 lectures and three exams.) The chapter on vector graphics applies the linear algebra learned in the previous chapter to the problem of translating, scaling, and rotating images. "Filtering" introduces the student to basic ideas in averaging and filtering. The chapter on "Binary Codes" covers the rudiments of binary coding, including Huffman codes and Hamming codes. If the users of this book find "Vector Graphics" through "Binary Codes" too confining, we encourage them to supplement the essential material in "Complex Numbers" through "Linear Algebra" with their own course notes on additional topics. Within electrical and computer engineering there are endless possibilities. Practically any set of topics that can be taught with conviction and enthusiasm will whet the student's appetite. We encourage you to write to us or to our editor, Tom Robbins, about your ideas for additional topics. We would like to think that our book and its subsequent editions will have an open architecture that enables us to accommodate a wide range of student and faculty interests. Throughout this book we have used MATLAB programs to illustrate key ideas. MATLAB is an interactive, matrix-oriented language that is ideally suited to circuit analysis, linear systems, control theory, communications, linear algebra, and numerical analysis. MATLAB is rapidly becoming a standard software tool in universities and engineering companies. (For more information about MATLAB, return the attached card in the back of this book to The MathWorks, Inc.) MATLAB programs are designed to develop the student's ability to solve meaningful problems, compute, and plot in a high-level applications language. Our students get started in MATLAB by working through “An Introduction to MATLAB,” while seated at an IBM PC (or look-alike) or an Apple Macintosh. We also have them run through the demonstration programs in "Complex Numbers". Each week we give three classroom lectures and conduct a one-hour computer lab session. Students use this lab session to hone MATLAB skills, to write programs, or to conduct the numerical experiments that are given at the end of each chapter. We require that these experiments be carried out and then reported in a short lab report that contains (i) introduction, (ii) analytical computations, (iii) computer code, (iv) experimental results, and (v) conclusions. The quality of the numerical results and the computer graphics astonishes students. Solutions to the chapter problems are available from the publisher for instructors who adopt this text for classroom use. We wish to acknowledge our late colleague Richard Roberts, who encouraged us to publish this book, and Michael Lightner and Ruth Ravenel, who taught "Linear Algebra" and "Vector Graphics" and offered helpful suggestions on the manuscript. We thank C. T. Mullis for allowing us to use his notes on binary codes to guide our writing of "Binary Codes". We thank Cédric Demeure and Peter Massey for their contributions to the writing of "An Introduction to MATLAB" and "The Edix Editor". We thank Tom Robbins, our editor at Addison-Wesley, for his encouragement, patience, and many suggestions. We are especially grateful to Julie Fredlund, who composed this text through many drafts and improved it in many ways. We thank her for preparing an excellent manuscript for production.
- Subjects:
- Electrical Engineering and Computing
- Keywords:
- Computer engineering MATLAB Electrical engineering Textbooks
- Resource Type:
- e-book
-
e-book
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.
- Subjects:
- Computing
- Keywords:
- Numerical analysis Computer programming Programming languages (Electronic computers) Textbooks Python (Computer program language)
- 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
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
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
Blueprints is a concise yet comprehensive coverage of Object-Oriented Analysis and Design concepts, suitable for a second programming course in Computer Science. It introduces and teaches application development in a command-line environment, and assumes basic expertise with the Java programming language.
- Subjects:
- Computing
- Keywords:
- System analysis System design Textbooks
- Resource Type:
- e-book
-
e-book
Suppose you want to build a computer network, one that has the potential to grow to global proportions and to support applications as diverse as teleconferencing, video on demand, electronic commerce, distributed computing, and digital libraries. What available technologies would serve as the underlying building blocks, and what kind of software architecture would you design to integrate these building blocks into an effective communication service? Answering this question is the overriding goal of this book—to describe the available building materials and then to show how they can be used to construct a network from the ground up.
- Subjects:
- Computing
- Keywords:
- Computer networks Textbooks
- Resource Type:
- e-book
-
e-book
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.
- Subjects:
- Computing
- Keywords:
- Computer programming FORTRAN (Computer program language) Textbooks
- Resource Type:
- e-book
-
e-book
This book is a guide to implement simple agent-based evolutionary models using NetLogo. All the models we implement are agent-based, i.e. individual agents and their interactions are explicitly represented in the models. To formalise agents’ interactions we use the basic framework of Evolutionary Game Theory. NetLogo is a multi-agent programmable modeling environment used by hundreds of thousands of students, teachers and researchers all around the globe. No coding experience is necessary to fully understand the contents of this book.
- Subjects:
- Computing
- Keywords:
- Game theory Computer simulation 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
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
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
This textbook, or really a “coursebook” for a college freshman-level class, has been updated for Spring 2014 and provides an introduction to programming and problem solving using both Matlab and Mathcad. We provide a balanced selection of introductory exercises and real-world problems (i.e. no “contrived” problems). We include many examples and screenshots to guide the reader. We assume no prior knowledge of Matlab or Mathcad.
-
e-book
Delftse Foundations of Computation is a textbook for a one quarter introductory course in theoretical computer science. It includes topics from propositional and predicate logic, proof techniques, set theory and the theory of computation, along with practical applications to computer science. It has no prerequisites other than a general familiarity with computer programming.
- Subjects:
- Computing
- Keywords:
- Computer science 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
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
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.”
- Subjects:
- Computing
- Keywords:
- Computer programming Programming languages (Electronic computers) C (Computer program language) Textbooks
- Resource Type:
- e-book
-
e-book
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.”
- Subjects:
- Computing
- Keywords:
- Computer programming C++ (Computer program language) Programming languages (Electronic computers) 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
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
"A Byte of Python" is a free book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience. If all you know about computers is how to save text files, then this is the book for you.
- Subjects:
- Computing
- Keywords:
- Computer programming Programming languages (Electronic computers) Textbooks Python (Computer program language)
- Resource Type:
- e-book
-
e-book
This text is designed to introduce and expand upon material related to the C programming language and embedded controllers, and specifically, the Arduino development system and associated Atmel ATmega microcontrollers. It is intended to fit the time constraints of a typical 3 to 4 credit hour course for electrical engineering technology and computer engineering technology programs, although it could also fit the needs of a hardware-oriented course in computer science. As such, the text does not attempt to cover every aspect of the C language, the Arduino system or Atmel AVR microcontrollers. The first section deals with the C language itself. It is assumed that the student is a relative newcomer to the C language but has some experience with another high level language, for example, Python. This means concepts such as conditionals and iteration are already familiar and the student can get up and running fairly quickly. From there, the Arduino development environment is examined. Unlike the myriad Arduino books now available, this text does not simply rely on the Arduino libraries. As convenient as the libraries may be, there are other, sometimes far more efficient, ways of programming the boards. Many of the chapters examine library source code to see “what's under the hood”. This more generic approach means it will be easier for the student to use other processors and development systems instead of being tightly tied to one platform. There is a lab manual for this textbook.
-
e-book
The purpose of this book is to teach new programmers and scientists about the basics of High Performance Computing. Too many parallel and high performance computing books focus on the architecture, theory and computer science surrounding HPC. This book speaks to the practicing chemistry student, physicist, or biologist who need to write and run their programs as part of their research.
- Subjects:
- Computing
- Keywords:
- High performance computing 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
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
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
JavaScript lies at the heart of almost every modern web application, from social apps like Twitter to browser-based game frameworks like Phaser and Babylon. Though simple for beginners to pick up and play with, JavaScript is a flexible, complex language that you can use to build full-scale applications. This much anticipated and thoroughly revised third edition of Eloquent JavaScript dives deep into the JavaScript language to show you how to write beautiful, effective code. It has been updated to reflect the current state of Java¬Script and web browsers and includes brand-new material on features like class notation, arrow functions, iterators, async functions, template strings, and block scope. A host of new exercises have also been added to test your skills and keep you on track.
- Subjects:
- Computing
- Keywords:
- Java (Computer program language) Computer programming Programming languages (Electronic computers) 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
This book is Part II of a two-part set that introduces the Java programming language. The text assumes the student will be using the BlueJ development environment and provides some introductory BlueJ material. Our experience has been that BlueJ is easy to learn and provides a good programming environment for the beginner programmer.
- Subjects:
- Computing
- Keywords:
- Java (Computer program language) Computer programming Programming languages (Electronic computers) Textbooks
- Resource Type:
- e-book
-
e-book
This book is Part I of a two-part set that introduces the Java programming language. The text assumes the student will be using the BlueJ development environment and provides some introductory BlueJ material. Our experience has been that BlueJ is easy to learn and provides a good programming environment for the beginner programmer.
- Subjects:
- Computing
- Keywords:
- Java (Computer program language) Computer programming Programming languages (Electronic computers) Textbooks
- Resource Type:
- e-book
-
e-book
Introduction to Computer Graphics is a free, on-line textbook covering the fundamentals of computer graphics and computer graphics programming. This book is meant for use as a textbook in a one-semester course that would typically be taken by undergraduate computer science majors in their third or fourth year of college.
- Subjects:
- Computing
- Keywords:
- Computer graphics Textbooks
- Resource Type:
- e-book
-
e-book
Welcome to the Eighth Edition of Introduction to Programming Using Java, a free, on-line textbook on introductory programming, which uses Java as the language of instruction. This book is directed mainly towards beginning programmers, although it might also be useful for experienced programmers who want to learn something about Java. It is not meant to provide complete coverage of the Java language. The eighth edition requires Java 8 or later, and it uses JavaFX for GUI programming. Version 8.1 is a small update of Version 8.0. This version briefly covers some of the new features in Java 11 and makes it clearer how to use this book with Java 11 and later.
- Subjects:
- Computing
- Keywords:
- Java (Computer program language) Computer programming Programming languages (Electronic computers) Textbooks
- Resource Type:
- e-book
-
e-book
This second edition of Database Design book covers the concepts used in database systems and the database design process. Topics include: The history of databases Characteristics and benefits of databases Data models Data modelling Classification of database management systems Integrity rules and constraints Functional dependencies Normalization Database development process New to this edition are more examples, highlighted and defined key terms, both throughout and at the end of each chapter, and end-of-chapter review exercises. Two new chapters have been added on SQL, along with appendices that include a data model example, sample ERD exercises and SQL lab with solutions.
- Subjects:
- Computing
- Keywords:
- Database design Textbooks
- Resource Type:
- e-book
-
e-book
An Introduction to Computer Networksis a free and open general-purpose computer-networking textbook, complete with diagrams and exercises.It covers the LAN, internetworking and transport layers, focusing primarily on TCP/IP. Particular attention is paid to congestion; other special topics include queuing, real-time traffic, network management, security and the ns simulator. The book is suitable as the primary text for an undergraduate or introductory graduate course in computer networking, as a supplemental text for a wide variety of network-related courses, and as a reference work.
- Subjects:
- Computing
- Keywords:
- Computer networks Computer network protocols Textbooks
- Resource Type:
- e-book
-
e-book
This open textbook aims to fill the gap between the open-source implementations and the open-source network specifications by providing a detailed but pedagogical description of the key principles that guide the operation of the Internet.
- Subjects:
- Computing
- Keywords:
- Computer network protocols Textbooks
- Resource Type:
- e-book
-
e-book
This textbook -- written by a group of select experts with a focus on different aspects of the design process, from creation to production -- addresses the many steps of creating and then producing physical, printed, or other imaged products that people interact with on a daily basis. It covers the concept that, while most modern graphic design is created on computers using design software, the ideas and concepts don't stay on the computer. The ideas need to be completed in the computer software, then progress to an imaging (traditionally referred to as printing) process. Keywords are highlighted throughout and summarized in a Glossary at the end of the book, and each chapter includes exercises and suggested readings.
- Subjects:
- Interactive and Digital Media and Computing
- Keywords:
- Graphic arts 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
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 book introduces concepts in mobile, autonomous robotics to 3rd-4th year students in Computer Science or a related discipline. The book covers principles of robot motion, forward and inverse kinematics of robotic arms and simple wheeled platforms, perception, error propagation, localization and simultaneous localization and mapping. The cover picture shows a wind-up toy that is smart enough to not fall off a table just using intelligent mechanism design and illustrate the importance of the mechanism in designing intelligent, autonomous systems. This book is open source, open to contributions, and released under a creative common license.
- Subjects:
- Computing
- Keywords:
- Autonomous robots Robots -- Programming Textbooks
- Resource Type:
- e-book
-
e-book
Pharo is a clean, innovative, open-source, live-programming environment. Deep into Pharois the second volume of a series of books covering Pharo. Whereas the first volume is intended for newcomers, this second volume covers deeper topics.You will learn about Pharo frameworks and libraries such as Glamour, PetitParser, Roassal, FileSystem, Regex, and Socket. You will explore the language with chapters on exceptions, blocks, small integers, and floats. You will discover tools such as profilers, Metacello and Gofer.
- Subjects:
- Computing
- Keywords:
- Textbooks Smalltalk-80 (Computer program language)
- Resource Type:
- e-book
-
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
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
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
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 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
This book focuses on the discrete Fourier transform (DFT), discrete convolution, and, particularly, the fast algorithms to calculate them. These topics have been at the center of digital signal processing since its beginning, and new results in hardware, theory and applications continue to keep them important and exciting. This book uses an index map, a polynomial decomposition, an operator factorization, and a conversion to a filter to develop a very general and efficient description of fast algorithms to calculate the discrete Fourier transform (DFT). The work of Winograd is outlined, chapters by Selesnick, Pueschel, and Johnson are included, and computer programs are provided.
- Subjects:
- Computing and Mathematics and Statistics
- Keywords:
- Fourier transformations Textbooks
- Resource Type:
- e-book
-
e-book
Introduction to the Modeling and Analysis of Complex Systems introduces students to mathematical/computational modeling and analysis developed in the emerging interdisciplinary field of Complex Systems Science. Complex systems are systems made of a large number of microscopic components interacting with each other in nontrivial ways. Many real-world systems can be understood as complex systems, where critically important information resides in the relationships between the parts and not necessarily within the parts themselves. This textbook offers an accessible yet technically-oriented introduction to the modeling and analysis of complex systems. The topics covered include: fundamentals of modeling, basics of dynamical systems, discrete-time models, continuous-time models, bifurcations, chaos, cellular automata, continuous field models, static networks, dynamic networks, and agent-based models. Most of these topics are discussed in two chapters, one focusing on computational modeling and the other on mathematical analysis. This unique approach provides a comprehensive view of related concepts and techniques, and allows readers and instructors to flexibly choose relevant materials based on their objectives and needs. Python sample codes are provided for each modeling example.
- Subjects:
- Computing
- Keywords:
- System analysis -- Mathematical models Computational complexity Textbooks System theory -- Mathematical models
- Resource Type:
- e-book
-
e-book
Digital circuits, often called Integrated Circuits or ICs, are the central building blocks of a Central Processing Unit (CPU). To understand how a computer works, it is essential to understand the digital circuits which make up the CPU. This text introduces the most important of these digital circuits; adders, decoders, multiplexers, D flip-flops, and simple state machines. What makes this textbook unique is that it puts the ability to understand these circuits into the hands of anyone, from hobbyists to students studying Computer Science. This text is designed to teach digital circuits using simple projects the reader can implement. But unlike most lab manuals used in classes in Digital Circuits or Computer Organization classes, this textbook is designed to remove the barrier of a laboratory infrastructure needed in a face-to-face environment at a college or university. This textbook is designed to be used by the reader to create the circuits in their own homes. The textbook is free. The cost of the kits needed to do the labs is reasonable. And the projects are well documented and can be implemented by even novices to electronic projects. This text allows professors to add laboratory projects in digital circuits to students in online classes in Computer Organization. This enhances these classes with interesting and fun exercises that reinforce the classroom topics. This text can also be used by a hobbyist who wants to learn more about digital circuits and how computers work. The material is presented at a level that someone with no experience in digital circuits and electronics can successfully complete the projects, and gain an understanding of the circuits which go into making up a computer.
- Subjects:
- Computing
- Keywords:
- Digital integrated circuits Textbooks
- Resource Type:
- e-book
-
e-book
Lean thinking, as well as associated processes and tools, have involved into a ubiquitous perspective for improving systems particularly in the manufacturing arena. With application experience has come an understanding of the boundaries of lean capabilities and the benefits of getting beyond these boundaries to further improve performance. Discrete event simulation is recognized as one beyond-the-boundaries of lean technique. Thus, the fundamental goal of this text is to show how discrete event simulation can be used in addition to lean thinking to achieve greater benefits in system improvement than with lean alone. Realizing this goal requires learning the problems that simulation solves as well as the methods required to solve them. The problems that simulation solves are captured in a collection of case studies. These studies serve as metaphors for industrial problems that are commonly addressed using lean and simulation.
- Keywords:
- Computer simulation Lean manufacturing Textbooks
- 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
-
e-book
Welcome to Information Systems for Business and Beyond. In this book, you will be introduced to the concept of information systems, their use in business, and the larger impact they are having on our world. This book is written as an introductory text, meant for those with little or no experience with computers or information systems. While sometimes the descriptions can get a little bit technical, every effort has been made to convey the information essential to understanding a topic while not getting bogged down in detailed terminology or esoteric discussions. Learning objectives can be found at the beginning of each chapter. Of course, all chapters are recommended for use in an introductory information systems course. However, for courses on a shorter calendar or courses using additional textbooks, a review of the learning objectives will help determine which chapters can be omitted. At the end of each chapter, there is a set of study questions and exercises (except for chapter 1, which only offers study questions). The study questions can be assigned to help focus students' reading on the learning objectives. The exercises are meant to be a more in-depth, experiential way for students to learn chapter topics. It is recommended that you review any exercise before assigning it, adding any detail needed (such as length, due date) to complete the assignment.
- Subjects:
- Industrial and Systems Engineering and Computing
- Keywords:
- Business information services Management information systems Textbooks
- Resource Type:
- e-book
-
e-book
Foundations of Computation is a free textbook for a one-semester course in theoretical computer science. It has been used for several years in a course at Hobart and William Smith Colleges. The course has no prerequisites other than introductory computer programming. The first half of the course covers material on logic, sets, and functions that would often be taught in a course in discrete mathematics. The second part covers material on automata, formal languages, and grammar that would ordinarily be encountered in an upper level course in theoretical computer science.
- Subjects:
- Computing
- Keywords:
- Computer science Textbooks
- 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
An introductory coverage of algorithms and data structures with application to graphics and geometry.
- Subjects:
- Computing
- Keywords:
- Algorithms Data structures (Computer science) 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
Developing New Products and Services by Sanders is an outstanding contribution to market research. The book focuses on the upfront activities and ideas for new product and service development. A central theme of Developing New Products and Services is that there is, or should be, a constant struggle going on in every organization, business, and system between delivering feature-rich versions of products and services using extravagant engineering and delivering low-cost versions of products and services using frugal engineering. Students will come away with this notion and how to manifest it as a contributing employee at any company. A number of powerful concepts and tools are presented so your students can better understand how to facilitate new product development. For example, three templates are featured that facilitate new product and service development. The FAD (features, attributes, and design) template is used to identify the features and attributes that can be used for product and service differentiation. The Ten–Ten planning process contains two templates: an Organizational and Industry Analysis template and the Business Plan Overview template. These two templates coupled with the FAD template can be used to develop a full-blown business plan. In addition, Developing New Products and Services includes the following topics: entrepreneurship, technology and product life cycles, product and service versioning, product line optimization, creativity, lock-in real options, business valuation, and project management. Evaluate Developing New Products and Services by Sanders for your marketing courses today.
- Subjects:
- Management and Industrial and Systems Engineering
- Keywords:
- Product differentiation New products Textbooks
- 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
Essentials of Geographic Information Systems integrates key concepts behind the technology with practical concerns and real-world applications. Recognizing that many potential GIS users are nonspecialists or may only need a few maps, this book is designed to be accessible, pragmatic, and concise. Essentials of Geographic Information Systems also illustrates how GIS is used to ask questions, inform choices, and guide policy. From the melting of the polar ice caps to privacy issues associated with mapping, this book provides a gentle, yet substantive, introduction to the use and application of digital maps, mapping, and GIS.
In today's world, learning involves knowing how and where to search for information. In some respects, knowing where to look for answers and information is arguably just as important as the knowledge itself. Because Essentials of Geographic Information Systems is concise, focused, and directed, readers are encouraged to search for supplementary information and to follow up on specific topics of interest on their own when necessary. Essentials of Geographic Information Systems provides the foundations for learning GIS, but readers are encouraged to construct their own individual frameworks of GIS knowledge. The benefits of this approach are two-fold. First, it promotes active learning through research. Second, it facilitates flexible and selective learning—that is, what is learned is a function of individual needs and interest.
Since GIS and related geospatial and navigation technology change so rapidly, a flexible and dynamic text is necessary in order to stay current and relevant. Though essential concepts in GIS tend to remain constant, the situations, applications, and examples of GIS are fluid and dynamic. Though this book is intended for use in introductory GIS courses, Essentials of Geographic Information Systems will also appeal to the large number of certificate, professional, extension, and online programs in GIS that are available today. In addition to providing readers with the tools necessary to carry out spatial analyses, Essentials of Geographic Information Systems outlines valuable cartographic guidelines for maximizing the visual impact of your maps. The book also describes effective GIS project management solutions that commonly arise in the modern workplace.
- Subjects:
- Land Surveying and Geo-Informatics and Computing
- Keywords:
- Geographic information systems Textbooks
- Resource Type:
- e-book
-
e-book
We set out to design an introductory course governed by four themes: Give students a good idea of what a career in MIS looks like by doing MIS. Enhance the professionalism of deliverables by teaching design and usability concepts. Promote creativity by assigning projects that demand it. Teach students about cloud computing by having them do cloud computing. Students in an introductory Management Information Systems (MIS) course often ask what a career in MIS looks like. Lacking a clear vision, they make their own assumptions. Often they assume the career involves programming with little human interaction. That MIS is a technical field could not be further from the truth. MIS job descriptions typically require candidates to be able to collaborate, communicate, analyze needs and gather requirements. They also list the need for excellent written and communication skills. In other words, MIS workers are constantly interacting with other people both inside and outside the organization. They are coming up with creative solutions to business problems. This course is designed to help students get a feel for what a career in MIS would be like. Our students report that they learn more about information systems from their internships than from their IS courses. Consequently, we designed a course that looks very much like an internship—an introduction to the field followed by a substantial project. Chapter 1 begins by introducing the information systems landscape. Here we discuss all the usual suspects: the information systems triangle, the systems development life cycle, transaction systems (ERP, SCM, CRM), collaboration systems, and business intelligence systems. Other aspects of the landscape such as usability, outsourcing, database concepts and so forth are introduced throughout chapter in Chapter 2 where they fit in naturally with the flow of the project. Chapter 2 is the substantial project which runs over a number of chapters. Over the course of the semester, students plan, build, and develop a proposal for an iPhone application. They develop a very realistic mockup. They also build a website to help market and support the app. Students are engaged because the project is fun and feels real. However, they are simultaneously learning business concepts and MIS skills. Prior to the existence of this course, we were only able to give such an interesting project at the senior level. Now, even as freshmen, students have a real experience of MIS in operation. A by product of creating an engaging course is increased enrollment in the MIS major. Even students who have never heard of MIS become excited about the major and either switch majors or add it as a double major or minor. Many other books have students study tools and then do a case. By contrast, most of this book is a case. Much like the real world, we introduce tools when needed, and only to the extent needed, to get at each part of the case.
- Subjects:
- Industrial and Systems Engineering and Computing
- Keywords:
- Business information services Management information systems Textbooks Application software -- Development
- 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
Information Systems: A Manager's Guide to Harnessing Technology is intended for use in undergraduate and/or graduate courses in Management Information Systems and Information Technology. The teaching approach in Information Systems: A Manager's Guide to Harnessing Technology can change this. The text offers a proven approach that has garnered student praise, increased IS enrollment, and engaged students to think deeper and more practically about the space where business and technology meet. Every topic is related to specific business examples, so students gain an immediate appreciation of its importance. Rather than lead with technical topics, the book starts with strategic thinking, focusing on big-picture issues that have confounded experts but will engage students. And while chapters introduce concepts, cases on approachable, exciting firms across industries further challenge students to apply what they've learned, asking questions like: Why was Netflix able to repel Blockbuster and WalMart? How did Harrah's Casino's become twice as profitable as comparably-sized Caesar's, enabling the former to acquire the latter? How does Spain's fashion giant Zara, a firm that shuns the sort of offshore manufacturing used by every other popular clothing chain, offer cheap fashions that fly off the shelves, all while achieving growth rates and profit margins that put Gap to shame? Why do technology markets often evolve into winner-take-all or winner take-most scenarios? And how can managers compete when these dynamics are present? Why is Google more profitable than Disney? How much is Facebook really worth? The teaching approach in this text encourages students to think deeper and more practically about the space where business and technology meet. Every topic is related to specific business examples, so students gain an immediate appreciation of its importance. Rather than starting with technical topics, the book starts with strategic thinking, focusing on big-picture issues that interest students.
- Subjects:
- Computing
- Keywords:
- Information resources management Management information systems Information technology Textbooks
- Resource Type:
- e-book
-
Video
Statistics, Machine Learning and Data Science can sometimes seem like very scary topics, but since each technique is really just a combination of small and simple steps, they are actually quite simple. My goal with StatQuest is to break down the major methodologies into easy to understand pieces. That said, I don't dumb down the material. Instead, I build up your understanding so that you are smarter.
- Course related:
- HTI34016 Introduction to Clinical Research
- Subjects:
- Computing and Mathematics and Statistics
- Keywords:
- Statistics Mathematical analysis Data mining Machine learning
- Resource Type:
- Video
-
Courseware
Stanford Engineering Everywhere (SEE) expands the Stanford experience to students and educators online and at no charge. A computer and an Internet connection are all you need. The SEE course portfolio includes one of Stanford's most popular sequences: the three-course Introduction to Computer Science, taken by the majority of Stanford’s undergraduates, as well as more advanced courses in artificial intelligence and electrical engineering.
- Course related:
- EE1D01 Electrical Science for Everyone
- Subjects:
- Electronic and Information Engineering, Biomedical Engineering, Mechanical Engineering, and Computing
- Keywords:
- Engineering Computer science
- Resource Type:
- Courseware
-
Others
Intellectual Property Department was established on 2 July 1990. The Department took over from the Registrar General’s Department the responsibility for the registration of patents and trade marks for goods and for other related matters. The Director of Intellectual Property replaced the Registrar General as the Registrar of Trade Marks and Registrar of Patents. The Department also took over functions relating to copyright from the Attorney General’s Department. In 1998, the Department also became the Government’s civil legal advisor on intellectual property legal matters. This website covers the materials of trademarks, patents, designs, and copyright.
- Course related:
- ISE5601 Managing and Measuring Intellect Property
- Subjects:
- Industrial and Systems Engineering
- Keywords:
- China -- Hong Kong Intellectual property
- Resource Type:
- Others
-
Others
The elements of the C language library are also included as a subset of the C++ Standard library. These cover many aspects, from general utility functions and macros to input/output functions and dynamic memory management functions
- Course related:
- COMP1011 Programming Fundamentals
- Subjects:
- Computing
- Keywords:
- C++ (Computer program language) C (Computer program language)
- Resource Type:
- Others
-
Others
Welcome! Are you completely new to programming? If not then we presume you will be looking for information about why and how to get started with Python. Fortunately an experienced programmer in any programming language (whatever it may be) can pick up Python very quickly. It's also easy for beginners to use and learn, so jump in!
- Course related:
- EIE3343 Computer System Principles
- Subjects:
- Computing
- Keywords:
- Python (Computer program language)
- Resource Type:
- Others
-
Others
Scikit Learn provide simple and efficient tools for predictive data analysis. Assessible to everybody, and reusable in various contexts. It built on NumPy, SciPy, and matplotlib. It is open sources, commercially usable under the BSD License.
- Subjects:
- Computing
- Keywords:
- Python (Computer program language)
- Resource Type:
- Others
-
Video
This youtube playlist included the topic of deep learning for human language processing, linear algebra, deep reinforcement learning, generative adversarial network, deep learning theory, structured learning, and machine learning.
- Course related:
- LGT6801 Guided Study in Logistics I
- Subjects:
- Computing
- Keywords:
- Machine learning Natural language processing (Computer science)
- Resource Type:
- Video
-
Others
SQL is a standard language for storing, manipulating and retrieving data in databases.Our SQL tutorial will teach you how to use SQL in: MySQL, SQL Server, MS Access, Oracle, Sybase, Informix, Postgres, and other database systems.
- Course related:
- COMP5112 Data Structures and Database Systems
- Subjects:
- Computing
- Keywords:
- SQL (Computer program language)
- Resource Type:
- Others
-
Others
This website explain the three-phase fault.The Three-Phase Fault block implements a three-phase circuit breaker where the opening and closing times can be controlled either from an external Simulink® signal (external control mode), or from an internal control timer (internal control mode). The Three-Phase Fault block uses three Breaker blocks that can be individually switched on and off to program phase-to-phase faults, phase-to-ground faults, or a combination of phase-to-phase and ground faults. The arc extinction process of the Three-Phase Fault block is the same as for the Breaker block.
- Course related:
- EE4006A Individual Project
- Subjects:
- Electrical Engineering
- Keywords:
- Electric circuits SIMULINK Electric power systems Electric circuit-breakers
- Resource Type:
- Others
-
Others
All About Circuits is one of the world’s largest and most active independent online communities for electrical engineers. Founded in 2004 with only a forum and open-source textbook, AAC has grown over the years into a thriving community of engineers collaborating and sharing expertise. AAC provides resources and facilitates discussion amongst EEs to provide real-world solutions to the challenges they face today. Whether you’re learning RF design, honing your PCB layout skills, figuring out Verilog, or looking for inspiration for your next design, AAC is your home for technical information, news, and tools. AAC provides free access to technical resources for engineers around the globe, including tools, guides, textbooks, and technical articles. These resources are built from the ground-up to educate both engineers who are new to the industry and those who are looking to continue their professional development. The featured resources cover the topic of analog, auto, connectors, digital ICS, electronmechanical, embedded, IoT, and Passives.
- Course related:
- EIE2100 Circuit Analysis
- Subjects:
- Electrical Engineering
- Keywords:
- Electric circuits Electric lines Electrical engineering
- Resource Type:
- Others
-
Others
GitHub is a development platform inspired by the way you work. From open source to business, you can host and review code, manage projects, and build software alongside 50 million developers. GitHub brings teams together to work through problems, move ideas forward, and learn from each other along the way. You can write better code, manage your chaos, and find the right tools in GitHub.
- Course related:
- EIE6811 Guided Study in Electronic and Information Engineering I/II/III and EE4006A Individual Project
- Subjects:
- Computing
- Keywords:
- Computer software -- Development Git (Computer file) Software engineering
- Resource Type:
- Others
-
Others
W3Schools is optimized for learning, testing, and training. Examples might be simplified to improve reading and basic understanding. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content.
- Subjects:
- Computing
- Keywords:
- Web publishing Web site development Web sites -- Design
- Resource Type:
- Others
-
Others
This Linux tutorial is divided into 13 sections. In general I recommend you work through them in order but if you've come here just to learn about a specific topic then feel free to just go straight to that one. You can now jump into section 1 and get started or keep reading below to learn a little more about this tutorial. 1.The Command Line - What is it, how does it work and how do I get to one. 2.Basic Navigation - An introduction to the Linux directory system and how to get around it. 3.More About Files - Find out some interesting characteristics of files and directories in a Linux environment. 4.Manual Pages - Learn how to make the most of the Linux commands you are learning. 5.File Manipulation - How to make, remove, rename, copy and move files and directories. 6.Vi Text Editor - Discover a powerful Linux based text editor. 7.Wildcards - Also referred to as globbing, this is a means to refer to several files in one go. 8.Permissions - Learn to identify and change the permissions of files and directories and what the consequences of these are. 9.Filters - An introduction to various commands that allow us to mangle data in interesting and useful ways. 10.Grep and Regular Expressions - Master a powerful pattern matching language that is useful for analysing and processing data. 11.Piping and Redirection - Join commands together in powerful combinations. 12.Process Management - See what is currently running on your Linux system and what state the system is in, learn how to kill programs that have hung and put jobs in the background. 13.Scripting - Be happy. Get the computer to do tedious and repetitive tasks for you. 14.Cheat Sheet - A quick reference for the main points covered in this tutorial.
- Subjects:
- Computing
- Keywords:
- Linux Operating systems (Computers)
- Resource Type:
- Others
-
MOOC
Data science has critical applications across most industries, and is one of the most in-demand careers in computer science. Data scientists are the detectives of the big data era, responsible for unearthing valuable data insights through analysis of massive datasets. And just like a detective is responsible for finding clues, interpreting them, and ultimately arguing their case in court, the field of data science encompasses the entire data life cycle. That starts with capturing lots of raw data using data collection techniques, and then building and maintaining data pipelines and data warehouses that efficiently “clean” the data and make it accessible for analysis at scale. This data infrastructure allows data scientists to efficiently process datasets using data mining and data modeling skills, as well as analyze these outputs with sophisticated techniques like predictive analysis and qualitative analysis. Finally, these findings must be presented using data visualization and data reporting skills to help business decision makers. Depending on the size of the company, data scientists may be responsible for this entire data life cycle, or they might specialize in a particular portion of the life cycle as part of a larger data science team
- Subjects:
- Computing
- Keywords:
- Machine learning Data mining Big data
- Resource Type:
- MOOC
-
MOOC
The Elements of AI is a series of free online courses created by Reaktor and the University of Helsinki. We want to encourage as broad a group of people as possible to learn what AI is, what can (and can’t) be done with AI, and how to start creating AI methods. The courses combine theory with practical exercises and can be completed at your own pace.
- Course related:
- COMP4431 Artificial Intelligence
- Subjects:
- Computing
- Keywords:
- Artificial intelligence Machine learning
- Resource Type:
- MOOC
-
MOOC
If you want to break into AI, this Specialization will help you do so. Deep Learning is one of the most highly sought after skills in tech. We will help you become good at Deep Learning. In five courses, you will learn the foundations of Deep Learning, understand how to build neural networks, and learn how to lead successful machine learning projects. You will learn about Convolutional networks, RNNs, LSTM, Adam, Dropout, BatchNorm, Xavier/He initialization, and more. You will work on case studies from healthcare, autonomous driving, sign language reading, music generation, and natural language processing. You will master not only the theory, but also see how it is applied in industry. You will practice all these ideas in Python and in TensorFlow, which we will teach. You will also hear from many top leaders in Deep Learning, who will share with you their personal stories and give you career advice. AI is transforming multiple industries. After finishing this specialization, you will likely find creative ways to apply it to your work. We will help you master Deep Learning, understand how to apply it, and build a career in AI.
- Course related:
- AMA564 Deep Learning
- Subjects:
- Computing
- Keywords:
- Machine learning Neural networks (Computer science) Artificial intelligence
- Resource Type:
- MOOC
-
Courseware
In this course, you will walk away with an up-to-date examination of the maturing FinTech industry and an understanding of the technologies set to shape the future of finance. Insight into who is currently adopting and driving financial technology innovation and the potential for partnerships between incumbents, start-ups and investors. The ability to critically assess the future of the financial services industry, through exploring complex real-world problems and how FinTech can be used to find solutions.A strategic framework to apply within your own role, and the opportunity to share this with like-minded professionals at an additional conference week.
- Course related:
- COMP4142 E-Payment and Cryptocurrency and COMP5521 Distributed Ledger Technology
- Subjects:
- Finance and Computing
- Keywords:
- Financial services industry -- Technological innovations Finance -- Technological innovations
- Resource Type:
- Courseware
-
MOOC
Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Machine learning is so pervasive today that you probably use it dozens of times a day without knowing it. Many researchers also think it is the best way to make progress towards human-level AI. In this class, you will learn about the most effective machine learning techniques, and gain practice implementing them and getting them to work for yourself. More importantly, you'll learn about not only the theoretical underpinnings of learning, but also gain the practical know-how needed to quickly and powerfully apply these techniques to new problems. Finally, you'll learn about some of Silicon Valley's best practices in innovation as it pertains to machine learning and AI. This course provides a broad introduction to machine learning, datamining, and statistical pattern recognition. Topics include: (i) Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks). (ii) Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning). (iii) Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI). The course will also draw from numerous case studies and applications, so that you'll also learn how to apply learning algorithms to building smart robots (perception, control), text understanding (web search, anti-spam), computer vision, medical informatics, audio, database mining, and other areas.
- Course related:
- EIE6207 Theoretical Fundamental and Engineering Approaches for Intelligent Signal and. Information Processing and COMP4434 Big Data Analytics
- Subjects:
- Computing
- Keywords:
- Artificial intelligence Machine learning
- Resource Type:
- MOOC
-
MOOC
This is CS50x , Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50x teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. The on-campus version of CS50x , CS50, is Harvard's largest course.
- Course related:
- COMP1011 Programming Fundamentals
- Subjects:
- Computing
- Keywords:
- Computer programming Computer science
- Resource Type:
- MOOC
-
Video
Tutorials Point originated from the idea that there exists a class of readers who respond better to online content and prefer to learn new skills at their own pace from the comforts of their drawing rooms. We bring simple to understand Text and Video tutorials at zero cost and cover many subjects including IT, Engineering, MBA, MCA, Management, Various Exams Preparation and Academic subjects. In this video playlist, it covers the topic of control system, types of feed back, functions of system, mathematical model of control system, mechanical system, force voltage analogy, torque current analogy, block diagram elements, and signal flow graph, etc.
- Course related:
- EE3005A Systems and Control
- Subjects:
- Electrical Engineering
- Keywords:
- Control theory Automatic control
- Resource Type:
- Video
-
Others
freeCodeCamp is a proven path to your first software developer job. More than 40,000 people have gotten developer jobs after completing this – including at big companies like Google and Microsoft. If you are new to programming, we recommend you start at the beginning and earn these certifications in order. To earn each certification, build its 5 required projects and get all their tests to pass.You can add these certifications to your résumé or LinkedIn. But more important than the certifications is the practice you get along the way.If you feel overwhelmed, that is normal. Programming is hard. Practice is the key. Practice, practice, practice. And this curriculum will give you thousands of hours of hands-on programming practice. And if you want to learn more math and computer science theory, we also have thousands of hours of video courses on freeCodeCamp's YouTube channel. If you want to get a developer job or freelance clients, programming skills will be just part of the puzzle. You also need to build your personal network and your reputation as a developer. You can do this on Twitter and GitHub, and also on the freeCodeCamp forum. Happy coding.
- Subjects:
- Computing
- Keywords:
- Computer programming Programming languages (Electronic computers) Coding theory
- Resource Type:
- Others
-
Others
Symbolab is an advanced math education tool. It allows users to learn, practice and discover math topics using mathematical symbols and scientific notations as well as text. Symbolab provides automated step by step solutions to algebraic, trigonometric and calculus topics covering from middle school through college. Symbolab offers a wealth of smart calculators including: equations, simultaneous equations, inequalities, integrals, derivatives, limits , tangent line, trigonometric equations, functions and more. The stated goal of the site is to make scientific content universally accessible by expanding the searchable data space onto scientific notations, expressions, equations and formulas. This is done by applying proprietary machine learning algorithms in order to understand the meaning and context of the queries. Symbolab, making math simpler.
- Course related:
- AMA1007 Calculus and Linear Algebra
- Subjects:
- Computing
- Keywords:
- Matrices Matrices -- Computer programs Mathematics -- Computer programs
- Resource Type:
- Others
-
Video
We are on a mission to provide free and subsidized education. We believe that the real world exists beyond the walls of costly institutions. We are here to help you in all the possible ways. A small step to educate the world. Join us and be a part of our creative community. "Every individual is different and talented, what you need are passion and curiosity."
- Course related:
- EE4004A Power Systems, EE2003A Electronics, EE3008A Linear Systems and Signal Processing, and EE3001A Analogue and Digital Circuits
- Subjects:
- Electronic and Information Engineering, Electrical Engineering, and Computing
- Keywords:
- Engineering Engineering -- Data processing Computer science
- Resource Type:
- Video
-
MOOC
This course covers a wide variety of topics in machine learning and statistical modeling. While mathematical methods and theoretical aspects will be covered, the primary goal is to provide students with the tools and principles needed to solve the data science problems found in practice. This course also serves as a foundation on which more specialized courses and further independent study can build. This course was designed as part of the core curriculum for the Center for Data Science's Masters degree in Data Science. Other interested students who satisfy the prerequisites are welcome to take the class as well. Note that class is intended as a continuation of DS-GA-1001 Intro to Data Science, which covers some important, fundamental data science topics that may not be explicitly covered in this DS-GA class (e.g. data cleaning, cross-validation, and sampling bias).
- Course related:
- LGT6801 Guided Study in Logistics I
- Subjects:
- Computing and Mathematics and Statistics
- Keywords:
- Big data Data mining Machine learning Mathematical statistics -- Data processing
- Resource Type:
- MOOC
-
Others
The mission of Papers With Code is to create a free and open resource with Machine Learning papers, code and evaluation tables.We believe this is best done together with the community and powered by automation.
- Course related:
- COMP5121 Data Mining and Data Warehousing Applications, COMP5212 Software Design and Architecture, COMP5123 Intelligent Information Systems, COMP5222 Software Testing and Quality Assurance, and COMP5131 Introduction to Information Systems
- Subjects:
- Computing
- Keywords:
- Machine learning Artificial intelligence
- Resource Type:
- Others
-
Others
Datavisualization.ch is a resource for data visualization and infographics. You'll find articles about events, tools, datasets, and showcases.
- Course related:
- LSGI2B01 Map Reading and Interpretation and SD1105 Digital Literacy for Designers
- Subjects:
- Visualisation, Land Surveying and Geo-Informatics, and Computing
- Keywords:
- Information visualization
- Resource Type:
- Others
-
Video
This channel contains the complete 8.01x (Physics I: Classical Mechanics), 8.02x (Physics II: Electricity and Magnetism) and 8.03 (Physics III: Vibrations and Waves) lectures as presented by Walter Lewin in the fall of 1999, spring of 2002 and fall of 2004. The 8.01x and 8.02x edX lectures are high resolution (480p) versions of the more commonly seen OCW versions. Some edits were also made by Lewin. 8.03 is the OCW version, also in a 480p resolution. Links to lecture notes, assignments/solutions and exams/solutions are added. Playlists with Help Sessions for 8.01x, 8.02x and 8.03 are also available. They are "mini lectures". The problems discussed in these videos should be apparent after watching the first few minutes. Other playlists show Lewin in various appearances and his Bi-Weekly Physics problems/solutions and several excellent lectures by Feynman and others.
- Subjects:
- Physics and Electrical Engineering
- Keywords:
- Waves Vibration Magnetism Mechanics Electricity Physics
- Resource Type:
- Video
-
Courseware
ArchiStar Academy has world class software and training for architects, engineers and universities students.
- Subjects:
- Computing
- Keywords:
- Design Technology
- Resource Type:
- Courseware
-
MOOC
Video games as a medium go back more than 50 years to mainframe computers. Even the central design of video games can be traced back to the first games themselves. To be a good game designer, it's essential to have an understanding of the video game design industry's fascinating history. We've partnered with The Strong National Museum of Play to give you a unique look into the history of all things video game. The International Center for the History of Electronic Games at The Strong is the largest and most comprehensive public assemblage of video games and related materials in the world. The staff are celebrated experts in the field and the ICHEG is visited by scholars of video games from around the world. You'll gain amazing insight into the history of video games with a guided exploration of key artifacts from the collection of more than 100,000 electronic games and materials.
- Subjects:
- Interactive and Digital Media and Computing
- Keywords:
- Video games -- Design History
- Resource Type:
- MOOC
-
MOOC
Game designers work with a wide range of asset creators, programmers, producers, and others to bring a video game from concept to product. In this course, you will learn about the different types of teams a game designer is a member of, both large and small.
- Subjects:
- Interactive and Digital Media and Computing
- Keywords:
- Video games -- Design
- Resource Type:
- MOOC
-
MOOC
Modern video games are incredibly complex multimedia productions involving still and motion graphics, code, audio, interface elements, narrative elements and much more. In this course, you will learn how and where all these pieces come from, who's in charge of each piece and the different stages of the game design process. We will also show you how everything is brought together to create a final product.
- Subjects:
- Interactive and Digital Media and Computing
- Keywords:
- Video games
- Resource Type:
- MOOC
-
Video
A series of video that introduce various topics, including Node.js, Java, C programming, HTML, JavaScript, Python, PHP, and C++ programming.
- Subjects:
- Computing
- Keywords:
- Computer games -- Programming Computer programming Web sites -- Design Graphic arts Computer networks
- Resource Type:
- Video
-
Video
A series of video that cover various computing topics, for example, C++ programming, C# programming, Python, and Java.
- Subjects:
- Computing
- Keywords:
- Computer programming
- Resource Type:
- Video