Skip to content

OpenSCAD lessons for visually Impaired and blind students

Notifications You must be signed in to change notification settings

funkonaut/openSCAD_lessons

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

openSCAD_lessons

OpenSCAD based intro to coding curriculum for visually impaired and blind students. By Texas School for the Blind and Visually Impaired.

Important Notes

Its helpful to have the following materials and tools, you will need to access to a 3D printer

Class notes/sequence If you are a teacher clone this repo, if you are a student taking this class, congrats, you found the solutions, but remember you are only cheating yourself if you do not attempt problems independently, and there are not posted project solutions.... This repo has all of the information (lessons, models, assignments) you need to teach the course. You can find code for students in the lessons folder, here you will also find a teacher lesson (does not have "_student" suffix) that will have all the important information to lecture about during class and practice problem solutions. This should go without saying... but... *Do the lesson and practice problems yourself before teaching it." There is also a subfolder named "materials" which has a suggested sequence and over view of each sub lesson in a markdown document. Lessons are roughly one month in length, depending on the level of your students. A double block (1hr and 15m) class time is suggested. Teacher should have students mirror the folder and file structure of this github repo to help organize their work on their local computer. Cloud based storage such as google drive or drop box can be used but it is suggested that the files are accessible locally (either through drive for desktop or dropbox for desktop) as students will be running openSCAD locally. A class room entry routine could be:

  1. Teachers send email with attached lesson code or instructions night before or day of class
  2. Students come into class on time and login to computer, open email and complete directions, downloading any attachments and placing them in the correct folder(s).

Pre-Requisite Knowledge

All skills to be completed with a laptop, unless otherwise noted.

  • Keyboarding 20 WPM all characters
  • Basic Windows OS navigation (launching programs, file explorer navigation, window/settings navigation, keyboard shortcuts)
  • Intermediate internet navigation skills
    • Search
    • Download
    • Navigate known and unknown sites with minimal prompting
  • Email Proficiency
  • Word Processing proficiency
  • Text editing familiarity
  • PowerPoint and presentation familiarity
  • Knowledge of the Cartesian coordinate plan

Course Description

TSBVI's Fundamentals of Computer Science course explores the building blocks of computer science and the engineering design process through the introduction of digital fabrication tools and the OpenSCAD programming language (based upon the C programming language). Throughout the course students will complete several independent and group "design challenges" where they will use their knowledge to design and implement solutions to real world problems posed by TSBVI staff. After each "design challenge" students will present technical documentation to stakeholders for review. Once a month students will lead a question and answer session with a STEM industry professionals.

Course Objectives

Upon successful completion of the course students will be able to:

  • Understand and implement fundamental computer science concepts such as variables, basic boolean logic, basic control structures, and basic data structures
  • Measure objects precisely to prepare technical descriptions
  • Use the engineering design process for problem solving
  • Maintain technical documentation and develop technical presentations
  • Understand and implement the possibilities of digital fabrication in approaching and solving problems they may face in their everyday lives
  • Use advanced prototyping and manufacturing techniques in the production of objects

Grading

Grading is a combination of two areas:

  • Class participation and attendance 50%
  • Projects 50%

Project Rubric

Project Rubric 0 1 2 3
Meets Functional Requirements Project meets few or no functional requirements satisfactorily Project meets some functional requirements satisfactorily Project meets all functional requirements satisfactorily Project meets all functional requirements and implements a novel or outside of the box solution
Includes Deliverables Project includes few or no deliverables completed Project includes some deliverables completed Project includes all deliverables completed Project includes all deliverables completed and goes beyond the expected level completion
Observes constraints Project observes few or no constraints listed Project observes some constraints listed Project observes all constraints listed Project observes all constraints listed and student imposes additional practical constraints

Key Concepts

Key concepts will build on each other and be used throughout the course.

Semester 1

Measurement

  • Using digital calipers
  • Using rulers
  • Using tape measures

Technical Skills

  • Presentation Skills
  • Technical note taking and documentation
  • 3D printing and laser cutting basic skills

OpenSCAD Basic Concepts

  • Basic primitives and transformations
  • Parameters (lists)
  • Variables and parameterization
  • Boolean operations
  • Modules
  • More transformation

Semester 2

OpenSCAD Intermediate Concepts

  • Extrusions and 2D Vector Design
  • Loops
  • Conditional statements (if else)
  • External libraries
  • Variables and parameterization (continued)

Bonus

  • Macros
  • Command line/ basic Linux commands
  • VSCode development
  • Python (openSCAD package)

Projects

Project 0 Your First 3D Print

  • Measuring using calipers
  • 3D printing and slicing
  • Writing technical notes
  • Converting between inches and millimeters

Project 1 Tactile Floor Markers

  • 3D printing
  • Designing a solution based on functional requirements and constraints
  • Preparing technical notes
  • meauring using calipers
  • testing multiple iterations

Project 2 Copy an Object

  • Find a real world device and copy it
  • Parameterize your code
  • Bonus if someone brings you a design problem

Project 3 Holes and pins

  • 3D printing
  • Using Boolean functions and transformations
  • Making smaller models to test things
  • Scaffolding joints project
  • Using variables

Project 4 Laser cut storage

  • Laser cutting
  • Measuring with a tape measure
  • Internet navigation

Project 5 Joints

  • Laser cutting
  • Projection command in openSCAD

Interesting References

OpenSCAD user manual OpenSCAD video tutorials Geometry and OpenSCAD for VI studnets

About

OpenSCAD lessons for visually Impaired and blind students

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published