Access syllabus for a newer version of the course (version 1.3)

## Unit 1

### Section 1

- XY plane, X and Y axes, their orientation
- Coordinates of points in the XY plane
- Quadrants Q1, Q2, Q3 and Q4
- Constructive Solid Geometry (CSG)
- Scripting CAD and PLaSM
- Make squares, rectangles and circles
- Assign colors to objects
- Display objects

### Section 2

- Distance between points
- Width and height of planar objects
- 2D and 3D objects are sets of points
- Sets and basic set operations
- Make rings, arcs, triangles and quadrilaterals
- Display multiple objects together
- Create unions and intersections of objects
- Subtract objects

### Section 3

- Size (diameter) of objects
- Distance between objects
- Area of planar objects
- Create regular polygons
- Make prisms based on squares, rectangles, regular polygons, circles, planar rings, triangles and quadrilaterals
- Combine multiple prisms to create a large variety of 3D objects
- Make hollow objects by subtracting prisms of different heights
- Eliminate random color mixing on overlapping surfaces
- Erase parts of planar and 3D objects
- Intersect 3D objects with planes parallel to the XY, XZ and YZ planes

### Section 4

- Vectors in the XY plane
- Vector as the difference of two points
- Basic vector operations
- Move points and objects by adding vectors to them
- Combine X an Y translations

### Section 5

- Split planar (2D) objects along lines parallel to the X and Y axes
- Split 3D objects along planes parallel to the XY, XZ and YZ planes
- Move (translate) objects in the Z direction
- Mirror planar objects about lines parallel to the X and Y axes
- Mirror 3D objects about planes parallel to the XY, XZ and YZ planes
- Scale (stretch and shrink) objects in the X, Y and Z directions

## Unit 2

### Section 6

- Learn how to rotate objects in the XY plane by playing Tetris
- Positive and negative rotation
- Rotation about the origin (0, 0)
- Rotation about an arbitrary point in the XY plane:
- Center of rotation inside the object
- Center of rotation on object’s boundary
- Center of rotation outside of object

### Section 7

- Practice 2D rotations and translations by building Tangram puzzles

### Section 8

- Learn first 3D objects and build simple 3D models
- Create spheres, cubes, cylinders and cones

### Section 9

- Create pipe-like objects (tubes, pipes, 3D rings etc.)
- Create boxes and toruses

### Section 10

- Learn how to rotate and translate objects in the 3D space by playing Tetris 3D
- There are six possible rotations in the 3D space
- Z-axis rotations are the same as XY-plane rotations
- Right-hand rule
- Special cases of rotations discussed separately:
- Rotation point is inside the object
- Rotation point is on object’s boundary
- Rotation point is outside of object

## Unit 3

### Section 11

- Practice 3D rotations and translations by creating a variety of 3D objects related to sports
- Create truncated cones and arcs

### Section 12

- Learn how to exploit axial and planar symmetry to simplify designs
- Mirror 2D objects about lines parallel to the X or Y axes
- Mirror 3D objects about planes that are perpendicular to the X, Y or Z axes
- Exploit multiple symmetries in one design

### Section 13

- Learn how to exploit rotational symmetry to simplify designs
- Combine axial / planar and rotational symmetries

### Section 14

- Solve spatial puzzles in order to develop spatial reasoning skills

### Section 15

- Practice previously learned concepts by building advanced 3D models related to movies
- Scale (shrink or stretch) 2D and 3D objects
- Erase parts of objects

## Unit 4

### Section 16

- Curved surfaces are represented via straight triangles, and how to take advantage of this fact to create new shapes
- More accurate surface representation leads to larger data files and increased memory and computing time
- Make computations faster by reducing the number of sides in cylinders and cones
- Create elbows (elbow = part of a torus)
- Create new objects by reducing the number of facets on elbows and spheres
- Create intersections of objects
- Boolean operations are more efficient when objects have fewer facets

### Section 17

- Create spirals by revolving a given 2D object in the XY plane about the Y axis with a given angle of revolution, and elevation gain per one complete turn
- Create a rail to a staircase
- Create helical screw blades for a meat grinder
- Create a nut with thread, and a double-helix DNA model
- Create a minigolf obstacle
- Complete a freeway intersection
- Build a slide for children’s playground

### Section 18

- Identify repeating patterns and exploit them to simplify models
- Python for-loop

### Section 19

- Use Python for-loop to automate simpler designs
- Create color bars with changing colors, stars of gradually increasing heights
- Create a pyramid by stacking rectangular prisms of gradually decreasing diameter
- Create a round staircase

### Section 20

- Use design automation for advanced projects
- Build a railroad with many wooden ties
- Build a spoked wheel, and a snowflake
- Build a flower with many petals
- Build a clock with minute marks
- Build a sophisticated double-helix DNA model using balls and sticks