Updating search results...

Search Resources

301 Results

View
Selected filters:
  • computer-science
Programming in C++ — The C++ Language, Libraries, Tools, and Other Topics (Lecture Slides and Video Lectures)
Only Sharing Permitted
CC BY-NC-ND
Rating
0.0 stars

LECTURE SLIDES ABSTRACT:

The abstract for the lecture slides is as follows:

This document, which consists of approximately 2500 lecture slides, offers a wealth of information on many topics relevant to programming in C++, including coverage of the C++ language itself, the C++ standard library and a variety of other libraries, numerous software tools, and an assortment of other programming-related topics. The coverage of the C++ language and standard library is current with the C++17 standard.

C++ Programming Language. Many aspects of the C++ language are covered from introductory to more advanced. This material includes: the preprocessor, language basics (objects, types, values, operators, expressions, control-flow constructs, functions, and namespaces), classes, templates (function, class, variable, and alias templates, variadic templates, template specialization, and SFINAE), lambda expressions, inheritance (run-time polymorphism and CRTP), exceptions (exception safety and RAII), smart pointers, memory management (new and delete operators and expressions, placement new, and allocators), rvalue references (move semantics and perfect forwarding), concurrency (memory models, and happens-before and synchronizes-with relationships), compile-time computation, and various other topics (e.g., copy elision and initialization).

C++ Standard Library and Various Other Libraries. Various aspects of the C++ standard library are covered including: containers, iterators, algorithms, I/O streams, time measurement, and concurrency support (threads, mutexes, condition variables, promises and futures, atomics, and fences). A number of Boost libraries are discussed, including the Intrusive, Iterator, and Container libraries. The OpenGL library and GLSL are discussed at length, along with several related libraries, including: GLFW, GLUT, and GLM. The CGAL library is also discussed in some detail.

Software Tools. A variety of software tools are discussed, including: static analysis tools (e.g., Clang Tidy and Clang Static Analyzer), code sanitizers (e.g., ASan, LSan, MSan, TSan, and UBSan), debugging and testing tools (e.g., Valgrind, LLVM XRay, and Catch2), performance analysis tools (e.g., Perf, PAPI, Gprof, and Valgrind/Callgrind), build tools (e.g., CMake and Make), version control systems (e.g., Git), code coverage analysis tools (e.g., Gcov, LLVM Cov, and Lcov), online C++ compilers (e.g., Compiler Explorer and C++ Insights), and code completion tools (e.g., YouCompleteMe, and LSP clients/servers).

Other Topics. An assortment of other programming-related topics are also covered, including: data structures, algorithms, computer arithmetic (e.g., floating-point arithmetic and interval arithmetic), cache-efficient algorithms, vectorization, good programming practices, software documentation, software testing (e.g., static and dynamic testing, and structural coverage analysis), and compilers and linkers (e.g., Itanium C++ ABI).

Subject:
Applied Science
Computer Science
Engineering
Material Type:
Lecture Notes
Provider:
University of Victoria
Author:
Michael D. Adams
Date Added:
06/27/2020
Programming our Sprites
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Students will explore different ways to program sprites (characters) in their projects. This lesson will focus on how to program keys on the keyboard in order to control the movement of the sprites in their projects.

Students will also dive into how to effectively use the hide, show, and wait blocks when creating an interactive project.

Subject:
Applied Science
Computer Science
Material Type:
Activity/Lab
Author:
NYC Computer Science for All
Date Added:
03/31/2021
Programming our Sprites
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Students will explore different ways to program sprites (characters) in their projects. This lesson will focus on how to program keys on the keyboard in order to control the movement of the sprites in their projects.

Students will also dive into how to effectively use the hide, show, and wait blocks when creating an interactive project.

Subject:
Applied Science
Computer Science
Material Type:
Activity/Lab
Author:
NYC Computer Science for All
Date Added:
03/31/2021
Project: Mobile Application & Product Development
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Project Assignment for the course "CSCI 380 - Mobile Application and Product Development" delivered at John Jay College in Spring 2019 by Bhargava Chinthirla and Eric Spector as part of the Tech-in-Residence Corps program.

Subject:
Applied Science
Computer Science
Material Type:
Activity/Lab
Provider:
CUNY Academic Works
Provider Set:
John Jay College of Criminal Justice
Author:
Bhargava Chinthirla
Eric Spector
Nyc Tech-in-residence Corps
Date Added:
05/06/2020
Project:  Probability and Statistics for Computer Science
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Project Assignment for the course "CSC 217: Probability and statistics for Computer Science" delivered at the City College of New York in Spring 2019 by Evan Agovino as part of the Tech-in-Residence Corps program.

Subject:
Applied Science
Computer Science
Mathematics
Statistics and Probability
Material Type:
Activity/Lab
Date Added:
03/27/2019
Project:  Software Engineering
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Project Assignment for the course "CSC 322: Software Engineering" delivered at the City College of New York in Fall 2018 by William Chan as part of the Tech-in-Residence Corps program.

Subject:
Applied Science
Computer Science
Material Type:
Activity/Lab
Date Added:
12/10/2018
Python Textbook
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Word Count: 23598

ISBN: 979-8-9859684-3-9

(Note: This resource's metadata has been created automatically by reformatting and/or combining the information that the author initially provided as part of a bulk import process.)

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Date Added:
08/12/2022
Quantifying Uncertainty
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

The ability to quantify the uncertainty in our models of nature is fundamental to many inference problems in Science and Engineering. In this course, we study advanced methods to represent, sample, update and propagate uncertainty. This is a “hands on” course: Methodology will be coupled with applications. The course will include lectures, invited talks, discussions, reviews and projects and will meet once a week to discuss a method and its applications.

Subject:
Applied Science
Computer Science
Engineering
Mathematics
Material Type:
Full Course
Provider Set:
MIT OpenCourseWare
Author:
Ravela, Sai
Date Added:
09/01/2012
RAISE (Responsible AI for Social Empowerment and Education)
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

RAISE (Responsible AI for Social Empowerment and Education) is a new MIT-wide initiative headquartered in the MIT Media Lab and in collaboration with the MIT Schwarzman College of Computing and MIT Open Learning. MIT researchers continually develop curriculum modules and associated teaching materials that are available to all K-12 educators for free under a Creative Commons license.

Subject:
Applied Science
Computer Science
Engineering
Material Type:
Full Course
Provider Set:
MIT OpenCourseWare
Author:
None, MIT RAISE
Date Added:
02/01/2022
Random Shakespearean Insult Generator Lesson
Conditional Remix & Share Permitted
CC BY-NC
Rating
0.0 stars

This lesson integrates coding and computer science into English Language Arts for the purpose of fostering appreciation of Shakespearean wit and language and to provide students exposure to coding. Students first choose words that carry insulting connotations from a Shakespearean play and then create a program that randomly generates insults based upon those found words. Swift Playgrounds, Scratch, or Raspberry Pi are recommended resources for creating this project, and links to projects are provided for each of these platforms. Sample code and directions are provided. Students who are beginning to learn coding may complete the code while more advanced individuals may modify the program or create their own.

Subject:
Applied Science
Arts and Humanities
Computer Science
English Language Arts
Language, Grammar and Vocabulary
Literature
Material Type:
Activity/Lab
Lesson Plan
Date Added:
12/05/2018
Random Shakespearean Insult Generator Lesson
Conditional Remix & Share Permitted
CC BY-NC
Rating
0.0 stars

This lesson integrates coding and computer science into English Language Arts for the purpose of fostering appreciation of Shakespearean wit and language and to provide students exposure to coding. Students first choose words that carry insulting connotations from a Shakespearean play and then create a program that randomly generates insults based upon those found words. Swift Playgrounds, Scratch, or Raspberry Pi are recommended resources for creating this project, and links to projects are provided for each of these platforms. Sample code and directions are provided. Students who are beginning to learn coding may complete the code while more advanced individuals may modify the program or create their own.

Subject:
Applied Science
Arts and Humanities
Computer Science
English Language Arts
Language, Grammar and Vocabulary
Literature
Material Type:
Activity/Lab
Lesson Plan
Date Added:
06/14/2021
Raspberry Pi Ada Lovelace Resources
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

A collection of resources related to Ada Lovelace and the Raspberry Pi. Includes Sonic Pi workshop handbook, LEGO Raspberry Pi enclosure workshop handbook and a colouring-in illustration.

Creative Commons Attribution-ShareAlike 4.0 International License.

Subject:
Applied Science
Computer Science
Material Type:
Activity/Lab
Author:
University of Edinburgh
Date Added:
06/13/2017
A Relational Database Overview
Read the Fine Print
Rating
0.0 stars

This resource introduces the structure of relational databases, a critical technology behind dynamic, data-driven websites.

Subject:
Applied Science
Computer Science
Computing and Information
Technology
Material Type:
Lecture
Provider:
NSDL Staff
Provider Set:
Computer Science and Information Technology Gateways and Resources
Date Added:
10/31/2014
Reverse Engineering a Scratch Project
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

In this lesson, student teams will explain how they plan on recreating/reverse engineering the Scratch project seen in Lesson 14. The other teams will listen, identifying similarities and differences between the two teams and their own ideas for arriving at a possible solution. Then, students will work in teams to rebuild the project they viewed in the previous lesson.

Subject:
Applied Science
Computer Science
Material Type:
Activity/Lab
Author:
NYC Computer Science for All
Date Added:
04/01/2021
Robotic Manipulation
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Introduces the fundamental algorithmic approaches for creating robot systems that can autonomously manipulate physical objects in unstructured environments such as homes and restaurants. Topics include perception (including approaches based on deep learning and approaches based on 3D geometry), planning (robot kinematics and trajectory generation, collision-free motion planning, task-and-motion planning, and planning under uncertainty), as well as dynamics and control (both model-based and learning-based).
Homework assignments will guide students through building a software stack that will enable a robotic arm to autonomously manipulation objects in cluttered scenes (like a kitchen). A final project will allow students to dig deeper into a specific aspect of their choosing. The class has hardware available for ambitious final projects, but will also make heavy use of simulation using cloud resources.

Subject:
Applied Science
Career and Technical Education
Computer Science
Electronic Technology
Engineering
Material Type:
Full Course
Provider Set:
MIT OpenCourseWare
Author:
Tedrake, Russell
Date Added:
09/01/2022
SOLID: Five Important Object-Oriented Design Principles
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

Slide deck that explains SOLID, an acronym for five OOD principles promoted by Robert C.
Martin and used in object-oriented programming to develop better software. Includes examples.

Subject:
Applied Science
Computer Science
Material Type:
Lecture
Lesson
Author:
Dana Nelson
Date Added:
02/13/2024
SQL and Database Management Using Pop Culture
Conditional Remix & Share Permitted
CC BY-NC
Rating
0.0 stars

Welcome to “SQL and Database Management Using Pop Culture,” a GitHub repository that leads a double life as an interactive Database and SQL textbook. Through this innovative approach, we blend the technical world of SQL and database management with the relatable and often thrilling realm of pop culture. This book is designed to make the complex concepts of databases not just understandable but genuinely enjoyable to learn.

Why This Book? Databases are the backbone of the modern data-driven world, yet their intricacies can often seem labyrinthine to learners. This book demystifies these complexities by drawing parallels with popular culture, weaving a narrative that is both informative and relatable. Whether you are a student stepping into the world of databases or a professional seeking to deepen your understanding, this book provides a fresh perspective that is both comprehensive and accessible. The book starts with basic queries in SQLite, and move on to introduce both PostgreSQL and MySQL in later chapters. The content is aligned with the content of the CompTia Data Sys+ and Oracle Database Foundations exams.

The Structure of the Book. Each chapter of this book is crafted like an episode of a TV series, where learning SQL and database management becomes an adventure rather than a routine academic endeavor. Here’s what awaits you in this journey:

Chapter 0: Get started with an interactive introduction to SQL and Python in Colab notebooks.
Chapters 1 to 12: From the deck of the Star Trek Enterprise to the magical corridors of Hogwarts, dive into every aspect of SQL and database management. Each chapter unfolds a new scenario, tying complex database concepts to familiar stories and characters from pop culture.
This repository houses twelve Jupyter notebooks, making the learning experience highly interactive and hands-on. You’ll not just read about SQL queries and database theories but also get to experiment and see the results in real-time.

Subject:
Applied Science
Computer Science
Material Type:
Activity/Lab
Assessment
Full Course
Lecture
Textbook
Author:
Brendan P. Shea
Date Added:
11/22/2023
STAR: Software Tools for Academics and Researchers
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

The Software Tools for Academics and Researchers (STAR) program at MIT seeks to bridge the divide between scientific research and the classroom. Understanding and applying research methods in the classroom setting can be challenging due to time constraints and the need for advanced equipment and facilities. The multidisciplinary STAR team collaborates with faculty from MIT and other educational institutions to design software exploring core scientific research concepts. The goal of STAR is to develop innovative and intuitive teaching tools for classroom use.
All of the STAR educational tools are freely available. To complement the educational software, the STAR website contains curriculum components/modules which can facilitate the use of STAR educational tools in a variety of educational settings. Students, teachers, and professors should feel welcome to download software and curriculum modules for their own use.
Online Publication

Subject:
Applied Science
Biology
Computer Science
Education
Educational Technology
Engineering
Environmental Science
Life Science
Physical Science
Physics
Material Type:
Full Course
Provider Set:
MIT OpenCourseWare
Author:
None, MIT Office of Educational Innovation and Technology
Date Added:
02/01/2012
Scientific Visualization across Disciplines: A Critical Introduction
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

This subject exposes students to a variety of visualization techniques so that they learn to understand the work involved in producing them and to critically assess the power and limits of each. Students concentrate on areas where visualizations are crucial for meaning making and data production. Drawing on scholarship in science and technology studies on visualization, critical art theory, and core discussions in science and engineering, students work through a series of case studies in order to become better readers and producers of visualizations.

Subject:
Applied Science
Business and Communication
Communication
Computer Science
Engineering
Material Type:
Full Course
Provider Set:
MIT OpenCourseWare
Author:
Dumit, Joseph
Date Added:
02/01/2005
ScratchJr Hour of Code Lesson Plan
Unrestricted Use
CC BY
Rating
0.0 stars

This is a lesson plan I designed for an Hour of Code event. The goal is to create a program where the two characters learn about how to cross the road safely. This is a really cute project, that young programmers are sure to enjoy making. You will not need prior programming experience to teach this Hour of Code activity as ScratchJr is a very basic programming platform.Included: A .pdf and .docx version of the lesson plan.Note: You will need the ability to open .pdf or .docx files. Any modern computer can open these files, but if you have any issues with it. You can message me and I will do my best to help you.P.S. You can find more free computer science teaching resources on my site here: https://codingoverload.com/free-c-s-teaching-resources/

Subject:
Computer Science
Material Type:
Lesson Plan
Author:
Don Brown
Date Added:
12/26/2020