Search Constraints
Number of results to display per page
Results for:
Language
English
Remove constraint Language: English
Search Results
-
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
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
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
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
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
-
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
-
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
-
Others
Learn to Code for Free. We're here to make coding more accessible, so everyone can learn the skills they need to upgrade their careers. For example, you can learn Python, HTML, CSS, and JavaScript.
- Subjects:
- Computing
- Keywords:
- Computer programming Programming languages (Electronic computers)
- Resource Type:
- Others
-
Others
Algorithm Visualizer is an interactive online platform that visualizes algorithms from code. Learning an algorithm gets much easier with visualizing it.
- Subjects:
- Computing
- Keywords:
- Algorithms Information visualization
- Resource Type:
- Others
-
Others
C is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations. C was originally developed by Dennis Ritchie between 1969 and 1973 at Bell Labs, and used to re-implement the Unix operating system. It has since become one of the most widely used programming languages of all time, with C compilers from various vendors available for the majority of existing computer architectures and operating systems. The best way we learn anything is by practice and exercise questions. We have started this section for those (beginner to intermediate) who are familiar with C programming. Hope, these exercises help you to improve your C programming coding skills. Currently, following sections are available, we are working hard to add more exercises.
- Subjects:
- Computing
- Keywords:
- Programming languages (Electronic computers) C (Computer program language)
- Resource Type:
- Others
-
Others
A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and games.
- Subjects:
- Computing
- Keywords:
- Computer programming Computer science Data structures (Computer science) Programming languages (Electronic computers) Computer networks Computer algorithms
- Resource Type:
- Others
-
MOOC
Virtual reality is changing the way we interact with the world. But how does it work, what hardware is involved, and how is software written for it? In this course, part of the Virtual Reality Professional Certificate program, we will explore the foundations of user-friendly virtual reality app development for consumers, as well as enterprise solutions. Both hardware and software aspects will be discussed. You will learn to evaluate devices necessary for virtual reality applications, what their differences are, how you write interactive applications for virtual reality, and we will discuss the most frequent problems you are going to need to solve to write virtual reality software. In this course, you will explore the basics of virtual reality software through copying and modifying JavaScript to explore tradeoffs in VR application design. Extensive programming experience is not required. By the end of this course, you will understand what is important for successful virtual reality software and learn how to write simple virtual reality programs themselves with WebVR. This course is taught by an instructor with almost two decades of experience in virtual reality who leads the Immersive Visualization Laboratory at UC San Diego.
- Subjects:
- Interactive and Digital Media and Computing
- Keywords:
- Computer simulation Virtual reality Human-computer interaction
- Resource Type:
- MOOC
-
Video
With so many new users picking up virtual reality headsets for the 2019 holiday season, it's time for a 2020 beginners guide to virtual reality. Let's dive into PC Specs, recommended headsets, setup, comfort, locomotion, motion sickness, free games and a lot more.
- Subjects:
- Interactive and Digital Media and Computing
- Keywords:
- Computer simulation Virtual reality Human-computer interaction
- Resource Type:
- Video
-
Video
A tutorial on setting up clothing to low poly character.
- Subjects:
- Interactive and Digital Media and Computing
- Keywords:
- Blender (Computer file) Three-dimensional display systems Computer animation Computer graphics
- Resource Type:
- Video
-
Video
A video demonstrate the modelling in MAYA, illustrate with the example of a disney character, Anna. Modeling - The modeling was done using mainly edge modeling - The eye is a low polygon sphere and then a flat polygon plane to start off, then extrude the edges and edit them into place
- Subjects:
- Interactive and Digital Media and Computing
- Keywords:
- Maya (Computer file) Computer animation
- Resource Type:
- Video
-
Video
A Virtual Reality introduction for Unity using HTC Vive for beginers. We will implement hand presence, teleportation and object grabbing in only 7 minutes without any line of code.
- Subjects:
- Interactive and Digital Media and Computing
- Keywords:
- Unity (Electronic resource) Computer simulation Virtual reality Human-computer interaction
- Resource Type:
- Video
-
Others
Extract human-understandable insights from any machine learning model.
- Subjects:
- Computing
- Keywords:
- Python (Computer program language) Machine learning
- Resource Type:
- Others
-
Others
Take your SQL skills to the next level.
- Subjects:
- Computing
- Keywords:
- Database management SQL (Computer program language)
- Resource Type:
- Others
-
Others
Make great data visualizations. A great way to see the power of coding!
- Subjects:
- Computing
- Keywords:
- Information visualization Python (Computer program language)
- Resource Type:
- Others
-
Others
Learn to handle missing values, non-numeric values, data leakage and more. Your models will be more accurate and useful.
- Subjects:
- Computing
- Keywords:
- Python (Computer program language) Machine learning
- Resource Type:
- Others
-
Others
Learn the most important language for data science.
- Subjects:
- Computing
- Keywords:
- Python (Computer program language)
- Resource Type:
- Others
-
Others
Learn SQL for working with databases, using Google BigQuery to scale to massive datasets.
- Subjects:
- Computing
- Keywords:
- Database management SQL (Computer program language)
- Resource Type:
- Others
-
Others
Distinguish yourself by learning to work with text data.
- Subjects:
- Computing
- Keywords:
- Python (Computer program language) Natural language processing (Computer science)
- Resource Type:
- Others
-
Others
Create interactive maps, and discover patterns in geospatial data.
- Subjects:
- Land Surveying and Geo-Informatics and Computing
- Keywords:
- Geospatial data Python (Computer program language)
- Resource Type:
- Others
-
Others
Use TensorFlow to take machine learning to the next level. Your new skills will amaze you.
- Subjects:
- Computing
- Keywords:
- Python (Computer program language) Machine learning
- Resource Type:
- Others
-
Others
Discover the most effective way to improve your models.
- Subjects:
- Computing
- Keywords:
- Machine learning Data mining Python (Computer program language)
- Resource Type:
- Others
-
Others
Solve short hands-on challenges to perfect your data manipulation skills.
- Subjects:
- Computing
- Keywords:
- Python (Computer program language) Electronic data processing Information visualization
- Resource Type:
- Others
-
Courseware
This is an accelerated introduction to MATLAB® and its popular toolboxes. Lectures are interactive, with students conducting sample MATLAB problems in real time. The course includes problem-based MATLAB assignments. Students must provide their own laptop and software. This is great preparation for classes that use MATLAB.
- Subjects:
- Computing
- Keywords:
- Engineering mathematics -- Data processing MATLAB Numerical analysis -- Computer programs
- Resource Type:
- Courseware
-
Video
This video introduces basic terminology in cryptography, including what is a ciphertext, plaintext, keys, public key crypto, and private key crypto. This is a video shared via the picoCTF youtube channel. picoCTF is a platform organized by Carnegie Mellon University (“CMU”)
- Subjects:
- Computing
- Keywords:
- Cryptography Data encryption (Computer science)
- Resource Type:
- Video
-
Others
This work introduces a handwritten Manipuri Meetei-Mayek character dataset which consists of more than 5000 data samples which were collected from a diverse population group that belongs to different age groups (from 4 years to 60 years), genders, educational backgrounds, occupations, communities from three different districts of Manipur, India (Imphal East District, Thoubal District and Kangpokpi District) during March and April 2019.
- Subjects:
- Computing
- Keywords:
- Optical pattern recognition
- Resource Type:
- Others
-
Others
This package contains: 1. SUFR-W, a dataset of “in the wild” natural images of faces gathered from the internet. The protocol used to create the dataset is described in Leibo, Liao and Poggio (2014) - https://cbmm.mit.edu/publications/conference-abstracts/subtasks-unconstrained-face-recognition 2. The full set of SUFR synthetic datasets, called the “Subtasks of Unconstrained Face Recognition Challenge” in Leibo, Liao and Poggio (2014) - https://cbmm.mit.edu/publications/conference-abstracts/subtasks-unconstrained-face-recognition
- Subjects:
- Computing
- Keywords:
- Human face recognition (Computer science) Optical pattern recognition
- Resource Type:
- Others
-
Others
A dataset of five actors performing five different actions (drink, eat, jump, run and walk) on a treadmill from five different views (0, 45, 90, 135, and 180 degrees from the front of the actor/treadmill; the treadmill rather than the camera was rotated in place to acquire from different viewpoints). The dataset was filmed on a fixed, constant background.
- Subjects:
- Computing
- Keywords:
- Motion perception (Vision) Computer vision Optical pattern recognition
- Resource Type:
- Others
- « Previous
- Next »
- 1
- 2
- 3