Updating search results...

Search Resources

132 Results

View
Selected filters:
  • Computer Science
Advanced Computer Organisation Architecture
Unrestricted Use
CC BY
Rating
0.0 stars

This course introduces students to Advanced Computer Organization and Architecture. Where architecture is a term used to describe the attributes of a system as seen by the programmer. Its concerned with designs and operations of a computer. Computer organization is the way the system is structured so that all those cataloged tools can be used, and that in an efficient fashion. This course has its emphasis on system design and performance.

Subject:
Computer Science
Material Type:
Module
Provider:
African Virtual University
Provider Set:
OER@AVU
Author:
Harrison Njoroge
Date Added:
02/22/2018
Advanced Computer Security
Unrestricted Use
CC BY
Rating
0.0 stars

There are both practical and theoretical reasons to study algorithms. From a practical standpoint, you have to know a standard set of important algorithms from different areas of computing; in addition, you should be able to design new algorithms and analyze their efficiency. From the theoretical standpoint, the study of algorithms, sometimes called algorithmics, has come to be as the cornerstone of computer science.

Subject:
Computer Science
Material Type:
Module
Provider:
African Virtual University
Provider Set:
OER@AVU
Author:
Richard Musabe
Date Added:
04/20/2018
Advanced Database Systems
Unrestricted Use
CC BY
Rating
0.0 stars

At the heart of any major system is a data storage back-end. This back-end is what is refered to as a database. Taking that a database forms the core of systems, there is every need for the data to have integrity and also available for use. Database systems when well designed will ensure the system achieves those goals. Persons with skills to develop and manage these databases are therefore vital in modern day systems. The course principals of Database Systems is needed to help provide the competencies and skills needed by entry-level systems analyst or programmers. This course is about understanding and developing application logic in databases.

Subject:
Computer Science
Material Type:
Module
Provider:
African Virtual University
Provider Set:
OER@AVU
Author:
John Kandiri
Date Added:
02/22/2018
African American History and Culture
Unrestricted Use
CC BY
Rating
0.0 stars

African American History and Culture contains 10 modules starting with African Origins - History and Captivity and continuing through Reconstruction. Openly-licensed course materials developed for the Open Educational Resources (OER) Degree Initiative, led by Achieving the Dream https://courses.lumenlearning.com/catalog/achievingthedream.

Subject:
U.S. History
Computer Science
Material Type:
Textbook
Provider:
Lumen Learning
Author:
Florida State College At Jacksonville
Date Added:
08/13/2020
Agent Based Modeling of Complex Adaptive Systems (Advanced)
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Building on Complex Adaptive Systems theory and basic Agent Based Modeling knowledge presented in SPM4530, the Advanced course will focus on the model development process. The students are expected to conceptualize, develop and verify a model during the course, individually or in a group. The modeling tasks will be, as much as possible, based on real life research problems, formulated by various research groups from within and outside the faculty.
Study Goals The main goal of the course is to learn how to form a modeling question, perform a system decomposition, conceptualize and formalize the system elements, implement and verify the simulation and validate an Agent Based Model of a socio-technical system.

Subject:
Computer Science
Material Type:
Full Course
Provider:
Delft University of Technology
Provider Set:
Delft University OpenCourseWare
Author:
Dr. Ir. I. Nikolic
Date Added:
03/03/2016
Algorithim Design and Analysis
Unrestricted Use
CC BY
Rating
0.0 stars

There are both practical and theoretical reasons to study algorithms. From a practical standpoint, you have to know a standard set of important algorithms from different areas of computing; in addition, you should be able to design new algorithms and analyze their efficiency. From the theoretical standpoint, the study of algorithms, sometimes called algorithmics, has come to be as the cornerstone of computer science.

This course aim to provide an in-depth understanding of the fundamental algorithmic techniques for design and analysis, in turn impart knowledge and practical competence in use of advanced data structures and the design and analysis of algorithms.

Subject:
Computer Science
Material Type:
Module
Provider:
African Virtual University
Provider Set:
OER@AVU
Author:
Godfry Justo
Date Added:
02/22/2018
Algorithim Design and Analysis
Unrestricted Use
CC BY
Rating
0.0 stars

There are both practical and theoretical reasons to study algorithms. From a practical standpoint, you have to know a standard set of important algorithms from different areas of computing; in addition, you should be able to design new algorithms and analyze their efficiency. From the theoretical standpoint, the study of algorithms, sometimes called algorithmics, has come to be as the cornerstone of computer science.

This course aim to provide an in-depth understanding of the fundamental algorithmic techniques for design and analysis, in turn impart knowledge and practical competence in use of advanced data structures and the design and Welcome to Advanced computer Security Module. This module provides a study of high-level computer security issues in computer networks and advanced methods of data encryption. It focuses on advanced aspects of computer security, such as encryption, security practices, system security, security for authentication on the Web and password management techniques. Finally this module, students should be able to create secure network architectures adapted to the investment level and required security. Take responsibility for installation, configuration and network security maintenance.

The module aims to give IT infrastructure management skills, where the role of computer security is critical to ensure the integrity of data and the normal operation of the various systems: computer networks, servers and personal computers in the organization. The course will also explore various Information Security controls, how to handle various risk assessment in an organization and finally creating a security policy in organization.

Today, we note that the information is considered the key business of an organization / company due to its usefulness and importance, however, the issue of the company’s Information Security is a priority task for managers, because they recognize the value it has and therefore organizations must make sure that it is managed effectively. For this reason, this module is important because you will learn the methods and tools for computer security that can ensure the confidentiality of information in organizations and also learn how to protect their information and systems in a network environment.

Subject:
Computer Science
Material Type:
Module
Provider:
African Virtual University
Provider Set:
OER@AVU
Author:
Richard Musabe
Date Added:
02/22/2018
Aprendiendo a Programar en Python con mi Computador: Primeros pasos rumbo a cómputos de gran escala en las Ciencias e Ingenierías
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

Este libro está dirigido, principalmente, a Estudiantes y Docentes que quieren aprender a programar como forma de fortalecer sus capacidades cognoscitivas y así obtener un beneficio adicional de su computador para lograr un mejor provecho de sus estudios. Dada la orientación del libro respecto a programar para resolver problemas asociados a las Ciencias e Ingenierías, el requisito mínimo de matemáticas que hemos elegido para presentar el contenido del mismo se cubre, normalmente, en el tercer año del bachillerato. No obstante, el requisito no es obligatorio para leer el libro en su totalidad y adquirir los conocimientos de programación obviando el contenido matemático.

Subject:
Computer Science
Material Type:
Textbook
Provider:
Project LATIn: The Latin American Open Textbook Initiative
Author:
Héctor Fernández
Juan Carlos Ruiz
Sergio Rojas
Date Added:
08/13/2020
Artifical Intelligence
Unrestricted Use
CC BY
Rating
0.0 stars

Artificial Intelligence is a subject is one of the most important and exciting sub-fields of Computer Science. This specialist programme covers the fundamentals of Computer Science and Computer Information Systems so as to maximise your future employment opportunities. It also offers the chance to carry out cutting-edge research in this high profile area.

Introductory modules cover Programming in Java, Computer Systems, Databases, Human-Centric Computing, and Algorithmic Foundations. The course is completed by a selection of modules covering important topics within the subject: Knowledge Representation, the study of Multi-Agent Systems, and Robotics among the others. The course also includes a related second year group project and an individual year project.

Subject:
Computer Science
Material Type:
Module
Provider:
African Virtual University
Provider Set:
OER@AVU
Author:
Kebbeh Saffiong
Date Added:
02/22/2018
Artificial Intelligence, Fall 2008
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

An introduction to the main techniques of Artifical Intelligence: state-space search methods, semantic networks, theorem-proving and production rule systems. Important applications of these techniques are presented. Students are expected to write programs exemplifying some of techniques taught, using the LISP lanuage.

Subject:
Computer Science
Material Type:
Full Course
Homework/Assignment
Syllabus
Provider:
UMass Boston
Provider Set:
UMass Boston OpenCourseWare
Author:
Ph.D.
Professor Wei Ding
Date Added:
08/13/2020
Automated Software Testing: Advanced Skills for Java Developers
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Software testing gets a bad rap for being difficult, time-consuming, redundant, and above all – boring. But in fact, it is a proven way to ensure that your software will work flawlessly and can meet release schedules.

In a two-course series, we will teach you automated software testing in an inspiring way. We will show you that testing is not as daunting a task as you might think, and how automated testing will make you a better developer who programs excellent software.

This second course builds upon the first course’s material. It covers more advanced tools and techniques and their applications, now utilizing more than just JUnit. Key topics include Test-Driven Development, state-based and web testing, combinatorial testing, mutation testing, static analysis tools, and property-based testing.

This is a highly practical course. Throughout the lessons, you will test various programs by means of different techniques. By the end, you will be able to choose the best testing strategies for different projects.

Subject:
Computer Science
Material Type:
Full Course
Provider:
Delft University of Technology
Provider Set:
Delft University OpenCourseWare
Author:
Dr. M. Aniche
Prof.dr. A. Van Deursen
Date Added:
08/13/2020
Automate the Boring Stuff
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

If you've ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you?

In Automate the Boring Stuff with Python, you'll learn how to use Python to write programs that do in minutes what would take you hours to do by hand-no prior programming experience required. Once you've mastered the basics of programming, you'll create Python programs that effortlessly perform useful and impressive feats of automation to:

Search for text in a file or across multiple files
Create, update, move, and rename files and folders
Search the Web and download online content
Update and format data in Excel spreadsheets of any size
Split, merge, watermark, and encrypt PDFs
Send reminder emails and text notifications
Fill out online forms

Step-by-step instructions walk you through each program, and practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks.

Don't spend your time doing work a well-trained monkey could do. Even if you've never written a line of code, you can make your computer do the grunt work. Learn how in Automate the Boring Stuff with Python.

Subject:
Computer Science
Material Type:
Textbook
Author:
Al Sweigert
Date Added:
08/13/2020
Big Data Strategies to Transform Your Business
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

While big data infiltrates all walks of life, most firms have not changed sufficiently to meet the challenges that come with it. In this course, you will learn how to develop a big data strategy, transform your business model and your organization.

This course will enable professionals to take their organization and their own career to the next level, regardless of their background and position.

Professionals will learn how to be in charge of big data instead of being subject to it. In particular, they will become familiar with tools to:

assess their current situation regarding potential big data-induced changes of a disruptive nature,
identify their options for successfully integrating big data in their strategy, business model and organization, or if not possible, how to exit quickly with as little loss as possible, and
strengthen their own position and that of their organization in our digitalized knowledge economy
The course will build on the concepts of product life cycles, the business model canvas, organizational theory and digitalized management jobs (such as Chief Digital Officer or Chief Informatics Officer) to help you find the best way to deal with and benefit from big data induced changes.

Subject:
Business
Engineering
Computer Science
Material Type:
Full Course
Provider:
Delft University of Technology
Provider Set:
Delft University OpenCourseWare
Author:
Claudia Wakker
Dr. Scott Cunningham
Marijn Janssen
Date Added:
08/13/2020
A Brief Introduction to Engineering Computation with MATLAB
Unrestricted Use
CC BY
Rating
0.0 stars

A Brief Introduction to Engineering Computation with MATLAB is specifically designed for students with no programming experience. However, students are expected to be proficient in First Year Mathematics and Sciences and access to good reference books are highly recommended. Students are assumed to have a working knowledge of the Mac OS X or Microsoft Windows operating systems. The strategic goal of the course and book is to provide learners with an appreciation for the role computation plays in solving engineering problems. MATLAB specific skills that students are expected to be proficient at are: write scripts to solve engineering problems including interpolation, numerical integration and regression analysis, plot graphs to visualize, analyze and present numerical data, and publish reports.

Subject:
Computer Science
Material Type:
Textbook
Provider:
Rice University
Provider Set:
OpenStax CNX
Author:
Serhat Beyenir
Date Added:
08/13/2020
The Building Blocks of a Quantum Computer: Part 1
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

There is no doubt that the quantum computer and the quantum internet have many profound applications, they may change the way we think about information, and they could completely change our daily life.

But how do a quantum computer and a quantum internet work? What scientific principles are behind it? What kind of software and protocols do we need for that? How can we operate a quantum computer and a quantum internet? And which disciplines of science and engineering are needed to develop a fully working system?

In a series of two MOOCs, we will take you through all layers of a quantum computer and a quantum internet. The first course will provide you with the scientific basis by explaining the first layer: the qubits. We will discuss the four types of qubits that QuTech research center at Delft University of Technology focuses on: topological qubits, Spin qubits, Trans qubits and NV Centre qubits. We will teach you the working principles of qubits and, at the same time, the working principles of a computer made of these qubits.

In the upcoming second course, we will introduce the other layers needed to build a quantum computer and a quantum internet, such as the micro-architecture, compilers, quantum error correction, repeaters and quantum algorithms.

These two courses offer you an opportunity to deepen your knowledge by continuing the journey started in our first MOOC, which focused on the applications of a quantum computer and a quantum internet.

Note that these courses offer a full overview of the layers of a quantum computer and a quantum internet, and therefore they will not go into too much detail per layer. For learners seeking to fully understand one specific topic we can recommend other courses authored by QuTech:

Subject:
Computer Science
Material Type:
Full Course
Provider:
Delft University of Technology
Provider Set:
Delft University OpenCourseWare
Author:
dr.ir. Menno Veldhorst
Prof.dr.ir. K.L.M. Bertels
Prof.dr. Lieven Vandersypen
Prof.L. DiCarlo
Stephanie Wehner
Date Added:
08/13/2020
The Building Blocks of a Quantum Computer: Part 2
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

There is no doubt that the quantum computer and the quantum internet have many profound applications, they may change the way we think about information, and they could completely change our daily life.

But how do a quantum computer and a quantum internet work? What scientific principles are behind it? What kind of software and protocols do we need for a quantum computer and a quantum internet? Which disciplines of science and engineering are needed to develop these? And how can we operate a fully working system?

In this series of two courses, we take you through all layers of a quantum computer and a quantum internet. In part 1 we explained the first layer: the qubits. We introduced the most promising quantum platforms and discussed how to do quantum operations on the physical qubits. In part 2 we will introduce the other layers needed to build and operate a quantum computer and a quantum internet, such as the quantum classical interface, micro-architecture, compilers, quantum error correction, networks and protocols and quantum algorithms.

These two courses offer you an opportunity to deepen your knowledge by continuing the journey started in our first course, which focused on the applications of a quantum computer and a quantum internet.

Note that these courses offer a full overview of the layers of a quantum computer and a quantum internet, and therefore they will not go into too much detail per layer. For learners seeking to fully understand one specific topic we can recommend other courses authored by QuTech:

In the field of Quantum Internet: Quantum Cryptography
In the field of topological phenomena: Topology in Condensed Matter
This course is authored by experts from the QuTech research center at Delft University of Technology. In the center, scientists and engineers work together to enhance research and development in quantum technology. QuTech Academy’s aim is to inspire, share and disseminate knowledge about the latest developments in quantum technology.

Subject:
Computer Science
Material Type:
Full Course
Provider:
Delft University of Technology
Provider Set:
Delft University OpenCourseWare
Author:
Dr. C.G. Almudever
Dr. D.B. Criger
Dr. D. Elkouss
Dr. F. Sebastiano
Prof. B.M. Terhal
Prof.dr.ir. K.L.M. Bertels
Date Added:
08/13/2020
A Byte of Python
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

"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. There are many translations of the book available in different human languages.

Subject:
Computer Science
Material Type:
Textbook
Author:
Swaroop C.H.
Date Added:
08/13/2020
COSC1301 Introduction to Computing
Unrestricted Use
CC BY
Rating
0.0 stars

Description: Overview of computer systems—hardware, operating systems, the Internet, and application software including word processing, spreadsheets, presentation graphics, and databases. Current topics such as the effect of computers on society, and the history and use of computers in business, educational, and other interdisciplinary settings are also studied. This course is not intended to count toward a student's major field of study in business or computer science.Learning Outcomes:Upon successful completion of this Introduction to Computing course, you will be able to:Describe the fundamentals of computing infrastructure components: hardware, application software, operating systems, and data communications systems.Delineate and discuss societal issues related to computing, including the guiding principles of professional and ethical behavior.Demonstrate the ability to create and use documents, spreadsheets, presentations and databases in order to communicate and store information as well as to support problem solving.Describe the need and ways to maintain security in a computing environment.Explain how networks work; implement a basic home network.Describe basic concepts/structures of computer programming, demonstrate an understanding of programming strategies and design an algorithm.

Subject:
Information Technology
Computer Science
Material Type:
Activity/Lab
Assessment
Diagram/Illustration
Homework/Assignment
Reading
Author:
Katherine Oser
Date Added:
10/05/2020
COSC 1337 Programming Fundamentals II (ACC)
Unrestricted Use
CC BY
Rating
0.0 stars

This course is an introduction to the C++ programming language and its subset, the C programming language. Program structure, block, storage types, console and file I/O, functions, arrays, strings, pointers, call-by-reference, call-by-value, and dynamic memory allocation will be discussed. The concept and use of classes will be covered in some detail. The differences between C++ and C will also be discussed.

Subject:
Computer Science
Material Type:
Full Course
Author:
Robert Comer
Date Added:
11/13/2020
Computer Graphics
Unrestricted Use
CC BY
Rating
0.0 stars

This course is about learning how to create and manipulate two and three dimensional images using graphic techniques and methods. Computer graphics knowledge enables one to create and manipulate graphics in application areas such as digital art and graphics design. At the end of the course you will be able to understand and apply the theory of computer graphics and in particular the mathematical techniques and the algorithms that underline most of modern 3D graphics systems. In general you will be able to write your own 3D graphics programs.

Subject:
Computer Science
Material Type:
Module
Provider:
African Virtual University
Provider Set:
OER@AVU
Author:
Mercy Mbise
Date Added:
08/13/2020
Computer Graphics and Computer Animation: A Retrospective Overview
Only Sharing Permitted
CC BY-NC-ND
Rating
0.0 stars

This book was developed in an attempt to maintain in one location the information and references that point to the many important historical developments of the short life of the computer graphics world as we know it.

Subject:
Computer Science
Material Type:
Textbook
Provider:
The Ohio State University
Provider Set:
Pressbooks
Date Added:
08/13/2020
Computer Networks: A Systems Approach
Unrestricted Use
CC BY
Rating
0.0 stars

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.

Subject:
Computer Science
Material Type:
Textbook
Author:
Bruce Davie
Larry Peterson
Date Added:
08/13/2020
Computing Project Management
Unrestricted Use
CC BY
Rating
0.0 stars

There is an increasing demand in the industry for graduates with problem solving skills; those with the capability of applying the theories, methods and techniques learnt during their degree programme in solving real life problems. The goal behind applied computer science programme is to produce such graduates who can easily integrate into the industry immediately after college and become indispensable problem solvers. Another goal of the applied computer science programme is to produce entrepreneurs who can create opportunities and bring about innovative solutions. Knowing fully well the demand of the industry, Project 2 has been designed to help students consolidate the knowledge and skills acquired during the course of the degree programme by developing systems (hardware or software) that are applicable to the market. Such systems as a matter of fact should contribute by addressing gaps in the market and should mainly target areas that need solutions unique to the African region. This is not in any way to limit students’ horizon; they should think globally but be able also to customize their solutions to the region.

Subject:
Computer Science
Material Type:
Module
Provider:
African Virtual University
Provider Set:
OER@AVU
Author:
Victor Odumuyiwa
Date Added:
04/06/2018
Computing and Society
Unrestricted Use
CC BY
Rating
0.0 stars

The primary goal of the course is to develop computer professionals able to explore the implications of what computing professionals create as part of their work and how this impacts society at large. It will help the learner to understand the development, application and consequences of computing technology in relation to society.

In this course, you will learn about the history of computing; principles, concepts and terminology of computing, software uses, application and development; role of computing professionals; current computing technologies and their use in everyday life, examination of variety of computing perspectives such as access to information, privacy, computer security, virtual society, transformation of work and workplace; social, ethical and legal issues and their implications to computing in our daily lives as a society; professional aspects of computing.

Subject:
Computer Science
Material Type:
Module
Provider:
African Virtual University
Provider Set:
OER@AVU
Author:
William Korir
Date Added:
08/13/2020
Cyber Security Economics
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

This economics course provides an introduction to the field of cybersecurity through the lens of economic principles. Delivered by four leading research teams, it will provide you with the economic concepts, measurement approaches and data analytics to make better security and IT decisions, as well as understand the forces that shape the security decisions of other actors in the ecosystem of information goods and services.

Systems often fail because the organizations that defend them do not bear the full costs of failure. In order to solve the problems of growing vulnerability to computer hackers and increasing crime, solutions must coherently allocate responsibilities and liabilities so that the parties in a position to fix problems have an incentive to do so. This requires a technical comprehension of security threats combined with an economic perspective to uncover the strategies employed by cyber hackers, attackers and defenders.

Subject:
Computer Science
Material Type:
Full Course
Provider:
Delft University of Technology
Provider Set:
Delft University OpenCourseWare
Author:
Dr. Ir. Carlos Hernandez Gañán
Dr. Rainer Böhme
Dr. Tyler Moore
Prof.dr. Michel van Eeten
Prof.dr. Ross Anderson
Date Added:
08/13/2020
Data Communication and Computer Networks
Unrestricted Use
CC BY
Rating
0.0 stars

Progressively more, people and organizations depend on the availability of computer networks to carry out various activities such as professional, academic or leisure. Computer networks have become a critical piece of any information system.

Imagine a single computer without being connected to any other computer: this machine will only have access to your information (found on your Hard Disk) or information that may come from floppies, flashes, CD’s and DVD’s.

When a computer is connected to a computer network, you can have access to information that comes to you and to present information on other computers connected to the same network, allowing a much larger number of possible information to access through that computer. However, it must recognize that computer networks today have little to do with networks used for several years, taking advantage of technological advances in transmission capacity of the physical, logical means, processing capacity of the equipment and functionality of the protocols and applications.

Throughout the module will use the term “computer network” when we want to mention a collection of autonomous computers connected by a single technology. Two computers are interconnected when they can exchange information. The connection do not need to be made by a copper wire; they can also use optical fibers, microwaves, infrared waves, and communication satellites. There are networks in many sizes, shapes and forms, as we shall focus on.

Subject:
Computer Science
Material Type:
Module
Provider:
African Virtual University
Provider Set:
OER@AVU
Author:
Janvier Gasuhuke
Date Added:
08/13/2020
Data Structure and Algorithms
Unrestricted Use
CC BY
Rating
0.0 stars

“Every program depends on algorithms and data structures, but few programs depend on the invention of brand new ones.”! “I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships.”!

This course introduces students to data structures and algorithms, and how data structures can be created and used. The application of data structures will be presented on the basis of various algorithms. This course teaches learners the way information is organized in the computer and which have an impact on the performance of the computer. The purpose of this course is to provide the students with solid foundations in the basic concepts of programming: data structures and algorithms. The main objective of the course is to teach the students how to select and design data structures and algorithms that are appropriate for problems that they might encounter. This course is also about showing the correctness of algorithms and studying their computational complexities. This course offers the students a mixture of theoretical knowledge and practical experience. The study of data structures and algorithms is carried out within an object-oriented framework. When implementations are considered, the Java programming language is used.

Subject:
Computer Science
Material Type:
Module
Provider:
African Virtual University
Provider Set:
OER@AVU
Author:
Harrison Njoroge
Date Added:
02/22/2018
Data Warehousing and Mining
Unrestricted Use
CC BY
Rating
0.0 stars

This course focuses on basic and advanced techniques on data warehousing and data mining, the study of the processing, modelling, querying, organizing, classifying documents, identifying association rules and categorization.

Subject:
Computer Science
Material Type:
Module
Provider:
African Virtual University
Provider Set:
OER@AVU
Author:
Fekade Getahun
Date Added:
08/13/2020
Deep into Pharo
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

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.

Subject:
Computer Science
Material Type:
Textbook
Author:
Alexandre Bergel
Damien Cassou
Jannik Laval
Stéphane Ducasse
Date Added:
08/13/2020
Delay Insentitive Circuits -- Structures, Semantics, and Strategies
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

The design of concurrent distributed hardware systems is a major challenge for engineers today and is bound to escalate in the future, but engineering education continues to emphasize traditional tools of logic design that are just not up to the job. For engineers tackling realistic projects, improvised attempts at synchronization across multiple clock domains have long been a fact of life. Prone to hazards and metastability, these ad hoc interfaces could well be the least trustworthy aspects of a system, and typically also the least able to benefit from any readily familiar textbook techniques of analysis or verification.

Progress in the long run depends on a change of tactics. Instead of the customary but inevitably losing battle to describe complex systems in terms of their stepwise time evolution, taking their causal relationships and handshaking protocols as a starting point cuts to the chase by putting the emphasis where it belongs. This way of thinking may call for setting aside a hard earned legacy of practice and experience, but it leads ultimately to a more robust and scalable methodology.

Delay insensitive circuits rely on local coordination and control from the ground up. The most remarkable consequence of adhering to this course is that circuits can get useful things done without any clock distribution network whatsoever. Because a handshake acknowledgment concludes each interaction among primitive components and higher level subsystems alike, a clock pulse to mark them would be superfluous. This effect can bring a welcome relief to projects whose timing infrastructure would otherwise tend to create more problems than it solves.

The theory of delay insensitive circuits is not new but has not yet attracted much attention outside of its research community. At best ignored and at worst discouraged in standard curricula, this topic until now has been accessible only by navigating a sea of conference papers and journal articles, some of them paywalled. Popular misconceptions and differing conventions about terminology and notation have posed further barriers to entry. To address this need, this book presents a unified account of delay insensitive circuits from first principles to cutting edge concepts, subject only to an undergraduate-level understanding of discrete math. In an approachable tutorial format with numerous illustrations, exercises, and over three hundred references, it guides an engineering professional or advanced student towards proficiency in this extensive field.

Subject:
Electronic Technology
Engineering
Computer Science
Material Type:
Textbook
Author:
Dennis Furey
Date Added:
08/13/2020
Delftse Foundations of Computation
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

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.

Subject:
Computer Science
Material Type:
Textbook
Provider:
Delft University of Technology
Author:
Neil Yorke-Smith
Stefan Hugtenburg
Date Added:
08/13/2020
Digital Circuit Projects: An Overview of Digital Circuits Through Implementing Integrated Circuits - Second Edition
Unrestricted Use
CC BY
Rating
0.0 stars

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.

Subject:
Computer Science
Material Type:
Textbook
Provider:
Gettysburg College
Author:
Charles W. Kann
Date Added:
05/20/2014
Digital Media (Course Files)
Unrestricted Use
CC BY
Rating
0.0 stars

This set of course materials includes lecture slides, activity files, images, quizzes, tests, review questions, and project assignments for Digital Media at Georgia Gwinnett College. The course uses open-source applications such as GIMP and InkScape.

Individual chapters are available for download due to the large file sizes. Web-based assignments to supplement these materials are located on the GGC Wiki: All Digital Media Assignments

Topics covered include:

Digital Images
Image Processing
Audio Processing
Video Processing
Creating Animation

Subject:
Computer Science
Material Type:
Full Course
Provider:
University System of Georgia
Provider Set:
Galileo Open Learning Materials
Author:
Kairui Chen
Shuhua Chen
Date Added:
06/20/2018
Diseńo e Implementación de Bases de Datos desde una Perspectiva Práctica
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

Los modelos de datos son mecanismos que permiten la abstracción y representación de un dominio, mediante un conjunto de reglas y símbolos pertenecientes a un lenguaje de modelado que es conforme al modelo. Un modelo puede definirse como la abstracción que permite representar los diferentes elementos pertenecientes a un dominio del negocio, sus relaciones y asociaciones, conforme sucedería en el mundo real.

Subject:
Computer Science
Material Type:
Textbook
Provider:
Project LATIn: The Latin American Open Textbook Initiative
Author:
Edgar Fabián Ruano
Héctor Cardona
Jhon Eder Masso
María Dolores Torres
María Isabel Vidal
Maritza Fernanda Mera
Sandra Milena Roa
Date Added:
08/13/2020
Educational Software
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

MAIN AIMS OF THE MODULE: To achieve an understanding and practical experience of key principles, methods and theories in the area of educational software.
LEARNING OUTCOMES FOR THE MODULE: The module provides opportunities for students to develop and demonstrate knowledge and understanding, qualities, skills and other attributes in the following areas:
1) Obtain understand of major learning principles, theories, and approaches
2. Identify key factors of successful educational software design and deployment.
3) Apply theories, principles, and approached into an appropriate design of educational software system.
4) Establish an appreciation of state-of-art developments in the area of educational software design.
MAIN TOPICS OF STUDY: The main topics of study considered in light of the above learning outcomes are: ‰ Educational Principles Design of educational software such as electronic instruction manuals, serious gaming, VR training, drills, and tutor agents and tutorials ‰Educational software for specific learners such as children, elderly, mentally or physically challenged individuals ‰CEvaluation of education software.

Subject:
Computer Science
Material Type:
Assessment
Homework/Assignment
Lecture
Lecture Notes
Lesson Plan
Reading
Provider:
Delft University of Technology
Provider Set:
Delft University OpenCourseWare
Author:
Dr.Ir. W.P. Brinkman
Date Added:
08/13/2020
Eloquent JavaScript: A Modern Introduction to Programming
Conditional Remix & Share Permitted
CC BY-NC
Rating
0.0 stars

This book contains roughly three parts. The first 11 chapters discussthe JavaScript language itself. The next eight chapters are about webbrowsers and the way JavaScript is used to program them. Finally,two chapters are devoted to Node.js, another environment to programJavaScript in.Throughout the book, there are five project chapters, which describelarger example programs to give you a taste of real programming. Inorder of appearance, we will work through building an artificial life simulation,a programming language, a platform game, a paint program,and a dynamic website.

Subject:
Computer Science
Material Type:
Textbook
Author:
Marijn Haverbeke.
Date Added:
08/13/2020
Embedded Controllers Using C and Arduino Lab Manual, 2E
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

This is the companion lab manual for the text "Embedded Controllers Using C and Arduino 2E". It introduces embedded controller systems using the Arduino hardware platform and the C programming language. It is intended for students in Electrical Engineering and Electrical Engineering Technology programs at the Associate and Baccalaureate levels. Clicking to view this item begins a .doc download.

Subject:
Computer Science
Material Type:
Textbook
Provider:
Dissidents
Author:
James M. Fiore
Date Added:
08/31/2016
Emerging Technologies
Unrestricted Use
CC BY
Rating
0.0 stars

Emerging technologies are science-based innovations that hold the potential to create a new or improve an existing sector: (Day and Schoemaker(2000) in Rotolo,2016). Therefore, it involves the modern advances and innovations in various fields of technology. The technologies that derived radical innovations include the biotherapy, digital photography, high-temperature superconductors, the micro robots or mobile computing, plus evolving technologies formed by the convergence of the earlier separate areas of research like the magnetic resonance images, electronic banking, high definition TV and the Internet itself. Each of these technologies provide a rich source of market opportunity and the provision of the incentive for bold investments are made. It is in this context that fits this discipline seeking to guide the student to the main lines of research in applied computer science.

Subject:
Computer Science
Material Type:
Module
Provider:
African Virtual University
Provider Set:
OER@AVU
Author:
Noela Kipyegen
Date Added:
02/10/2018
Enterprise Pharo a Web Perspective
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

Pharo is a clean, innovative, open-source, live-programming environment.

Enterprise Pharo is the third volume of a series of book covering Pharo and its community. Whereas the first volume Pharo by Example is intended for newcomers and the second volume Deep into Pharo covers deep topics of Pharo, this third volume covers libraries and frameworks for enterprises, and in particular those doing web development.

Subject:
Computer Science
Material Type:
Textbook
Author:
Attila Magyar
Christophe Demarey
Cyril Ferlicot Delbecque
Damien Cassou
Damien Pollet
Esteban Lorenzano
Gabriel Omar Cotelli
Guillaume Larchevêque
Johan Fabry
Liudmyla Dolia
Luc Fabresse
Mariano Martinez-Peck
Martín Dias
Max Leske
Norbert Hartl
Olivier Auverlot
Stéphane Ducasse
Sven Van Caekenberghe
Date Added:
10/06/2016
Ethical Hacking for Effective Defense (Modules, Labs, and Lectures)
Unrestricted Use
CC BY
Rating
0.0 stars

The following set of materials is used in the Textbook Transformation Grants implementation of Ethical Hacking for Effective Defense:

https://oer.galileo.usg.edu/compsci-collections/8/

Topics include:

TCP/IP Level Attacks
Port Scanning
DDoS
Footprinting and Social Engineering
Enumeration
Programming for Security Professionals
Operating System Vulnerabilities
Embedded System Security
Hacking Web Servers
Hacking Wireless Networks
Cryptography
Protecting Networks with Security Devices

Subject:
Computer Science
Material Type:
Full Course
Provider:
University System of Georgia
Provider Set:
Galileo Open Learning Materials
Author:
Hossain Shahriar
Date Added:
06/20/2018