The course schedule for CS 354: Autonomous Robotics as taught at JMU in Fall 2022.
- Subject:
- Applied Science
- Computer Science
- Material Type:
- Syllabus
- Date Added:
- 03/23/2023
The course schedule for CS 354: Autonomous Robotics as taught at JMU in Fall 2022.
The syllabus for CS 361: Computer Systems II, taught at James Madison University by Michael S. Kirkpatrick.
This book is a guide to Cascading Style Sheets (CSS), a technique widely used in web pages including Wikipedia to describe their visual style and appearance. CSS can take HTML to new places creatively and functionally. Once you learn how to style mark-up, you can additionally learn JavaScript functions that make dynamic web pages.
These slides are used to guide a discussion with students introducing them to the notion of public interest technology and coding for the public good. The lesson is intended to spark a discussion with students about different sorts of technology and their societal ramifications.
Comments
Note that these slides use Poll Everywhere polls; to use them, you will need to create your own Poll Everywhere account.
This activity helps student design and develop a front-end of a website, from wireframes through HTML/CSS/Javascript. It includes design questions for students, including the invocation of Ben Schneiderman's eight golden rules for interface design.
Note: this activity assumes prior knowledge of web development. Since this activity is designed for an HCI course, with a focus on interface design, students are not expected to create a back-end for it. This activity can obviously be modified for a full-stack experience.
Comments
Although this activity can be used in isolation, it is intended to be part of a series guiding students towards the creation of a front-end of a website. The series (all published as OER) consist of:
a) Needfinding
b) Personas, Scenarios and Storyboards
c) Front-end Website Design and Development
d) Accessibility Evaluation
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.
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.
This textbook covers the traditional introductory Computer Science I topics but takes a unique approach. Topics are covered in a language-agnostic manner in the first part with supplemental parts that cover the same concepts in a specific language. The current version covers C, Java, and PHP. This textbook as been used in several Computer Science I sections over multiple years at the University of Nebraska-Lincoln.
Table of Contents
I. The C Programming Language
II. The Java Programming Language
III. The PHP Programming Language
This textbook covers the traditional introductory Computer Science I topics but takes a unique approach. Topics are covered in a language-agnostic manner in the first part with supplemental parts that cover the same concepts in a specific language. The current version covers C, Java, and PHP. This textbook as been used in several Computer Science I sections over multiple years at the University of Nebraska-Lincoln.
The aim of this book is to provide a breadth-first overview of concurrent systems architectures and programming. Specifically, this book aims to cover 100% of the Core Tier 1 material for the areas of System Fundamentals, Operating Systems, Network-centric Computing, and Parallel and Distributed Computing. In achieving this coverage, this book provides a flexible foundation for undergraduate Computer Science programs to achieve Core Tier 1 coverage while customizing their curriculum for Core Tier 2 as appropriate for their students. Furthermore, this approach provides a foundational scaffold for additional systems courses that can apply these principles and concepts with more in-depth study of specific areas.
Table of Contents
Chapter 0: Preface
Chapter 1: Introduction to Computer Systems
Chapter 2: Processes and OS Basics
Chapter 3: Concurrency with IPC
Chapter 4: Networked Concurrency
Chapter 5: The Internet and Connectivity
Chapter 6: Concurrency with Multithreading
Chapter 7: Synchronization Primitives
Chapter 8: Synchronization Patterns and Problems
Chapter 9: Parallel and Distributed Systems
Appendix A
Appendix B
This core Computer Usage and Applications text provides a survey of computer skills necessary to succeed in professional and academic careers. This includes a survey of Operating Systems, Microsoft Office applications such as Word, Excel, Access and PowerPoint, as well as Google Apps. There is a focus on analyzing and solving business problems in the most efficient way possible. Students are given clear, easy-to-follow instructions for each skill presented and are also provided with opportunities to learn additional skills related to the personal and professional objectives presented. Students will learn the objectives with detailed instruction in the ‘Learn It’ and ‘Practice’ assignments; and expand their knowledge with ‘Master’ and ‘Challenge It’ activities. Students are challenged to use critical thinking to solve real world scenarios. For example, ‘fix-it’ case studies are included so students gain an appreciation for the real world application of these technologies. Computer Usage and Applications is an independent publication and is not affiliated with, nor has it been authorized, sponsored, or otherwise approved by Microsoft Corporation. Our adapted work uses all Microsoft screenshots under fair use. If you plan to redistribute our book, please consider whether your use is also fair use.
This course and its materials follow the CompTIA Linux+ curriculum and prepares students for that certification.
This archive contains a series of lessons on cryptography suitable for use in a CS0 course. The only requirement is familiarity with Python, particularly dictionaries, lists, and file IO. It is also assumed that students know how to create stand-alone Python programs and interact with them through the terminal. Most of the work is done in Jupyter notebooks.
The material found in the notebooks is a combination of reading material, exercises, activities and assignments. Below are descriptions of each lesson or assignment and links to notebooks on Cocalc. The same files are available for batch download in this archive.
This lecture presents information about cybercrime, which has become the most ubiquitous crime world-wide and affects individuals, companies and government. The lecture indicates that 95% of all cybercrime is preventable and describes a myriad of cyber security techniques that are available to prevent hacking. Legislation to combat cybercrime is presented as well as the places where cybercrime should be reported.
The lecture presents information about how the Internet works so students studying cyber security can better understand how cybercriminals commit their crimes. The lecture provides elemental concepts so students of all disciplines, from computer engineering to criminal justice and law can obtain a basic foundation.
How can we effectively and efficiently teach data science to students with little to no background in computing and statistical thinking? How can we equip them with the skills and tools for reasoning with various types of data and leave them wanting to learn more? This introductory data science course is our (working) answer to this question.
The source code for everything you see here can be found on GitHub.
The core content of the course focuses on data acquisition and wrangling, exploratory data analysis, data visualization, inference, modelling, and effective communication of results. Time permitting, the course also introduces additional concepts and tools like interactive visualization and reporting, text analysis, and Bayesian inference. A heavy emphasis is placed on a consistent syntax (with tools from the tidyverse), reproducibility (with R Markdown), and version control and collaboration (with Git and GitHub). In addition, out-of-class learning is supplemented with interactive tutorials. The goal of the course is to bring students from zero to being able to work in a team on a fully reproducible data science project analysing a dataset of their choice and answering questions they care about.
Data Science in a Box contains the materials required to teach (or learn from) the course described above, all of which are freely-available and open-source. They include course materials such as slide decks, lecture and live coding videos, homework assignments, guided labs, sample exams, a final project assignment, as well as materials for instructors such as pedagogical tips, information on computing infrastructure, technology stack, and course logistics.
Majority of the materials linked live in the GitHub repo serving this website.
Please note that Data Science in a Box uses a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
This workbook is a brief introduction to data wrangling. In this book, we introduce core concepts in data wrangling, use the R language, the R Studio interface, and the tidyverse set of packages that are dedicated to getting us to tidy data.
This resource will be updated as needed. For the most recent version, visit: https://cod.pressbooks.pub/datawranglingwithr/
Database Design - 2nd Edition covers database systems and database design concepts. New to this edition are SQL info, additional examples, key terms and review exercises at the end of each chapter.
This second edition of Database Design book covers the concepts used in database systems and the database design process.
A Python IF-ELSE activity - "The Dating Equation" - for CS0 students. Part of the CUNY CS04All project.