I invented higher dimensions at an early age and have scored "off the charts" in spatial insight on any test. Since I've made numerous "infinite dimensional" puzzles (because 3 dimensional ones were too boring).
This is how I grasp the concept of a hypercube:
Each hyper cube of N dimensions exists of 2^N points. Half of those points (aka 2^(N-1)) form a N-1 dimensional hypercube, as does the other half. There a N ways to pick such a pair *). One such half is a copy of the other, merely translated the side L into a dimension perpendicular to the N-1 dimensions that those hypercubes exist in.
*) Each corner point has (for example) coordinates 0 or 1 for each dimension: each point is represented by a vector like [0,1,1,0,0,1,0,0,0,1] where every permutation of 0 and 1's occur (leading to the 2^N points). Chose any coordinate and separate the points into two groups: one where that coordinate is 0 and one where that coordinate is 1. Hence, N choices. The remaining N-1 coordinates are again a vector of 0 and 1's that contain every permutation; so they are obviously also hypercubes, of one dimension less.
Hence you can "build up" a hypercube from lower dimensions as follows: start with a point. Translate this point over a distance L. Note how it doesn't matter in WHICH direction, even though you have 3 dimensions to pick from (when restricting yourself still to 3D space). The point "draws" a line while being translated, giving you a line piece. The number of points have doubled: from 1 point to 2 points. Now you have a 1D hypercube.
Next translate this line piece (1D hypercube) in any direction perpendicular to the previous used direction (even in 3D space this still allows choice, but which choice you make doesn't matter: all not used dimensions are equivalent), over a distance L. This doubles the points again, and each point draws a line again while being translated (in the end ask the students to find the formula for the number of lines as function of N). Next translate the resulting 2D hypercube (the square) over a distance L perpendicular to the square. This draws four more lines and doubles the number of points from 4 (one square) to 8 (original square plus copy).
Next, translate the 3D hypercube over a distance L in a direction perpendicular to all previously used 3 dimensions. Note that there are infinite dimensions, but which direction you choose is not important, as long as it is per perpendicular to the used dimensions. The result of that is that new lines that are being drawn during the translation of the copy all are perpendicular to the orginal hypercube and thus all make an angle of 90 degrees with every previous drawn line.
And so on: make a copy of the N-dimensional hypercube, translate it over a distance L perpendicular to all previous used dimensions, making all 2^N points draw 2^N extra lines.
Note how every dimension is symmetrical: there are N axis, on each axis there are two opposite N-1 dimensional hypercubes: the "outsides" that limit the hypercube on that dimension (aka there are 2N outsides).
Some students will grasp it. Let them form groups were students that got it explain in their own words to other students how they see it and how they grasped it. It can help to have someone else explain it (in different words).
Here is a puzzle that I made:
Given a hypercube of N dimension in an N dimensional space. If you paint the 2N outsides of the hypercube from a pallet of k colors, how many under rotation different permutations can you make? For example, N=2, k=2 gives: AAAA, AAAB, AABB, ABAB, ABBB and BBBB, so 6 different permutations (rotation of the squares is rotations of the strings here). N=2, k=3 gives 24 different permutations. What is the general formula? Don't look it up cause I have it published on the net somewhere :p
Edit:
More abstract, but certainly important, are the coordinate vectors with all permutations of 0's and 1's. You could explain that if you add more zero's but never change those zero's - then they don't matter. Aka:
0,0,0,0,0,0
0,0,0,1,0,0
0,0,1,0,0,0
0,0,1,1,0,0
0,1,0,0,0,0
0,1,0,1,0,0
0,1,1,0,0,0
0,1,1,1,0,0
spans a 3D cube (in 6D space, but that doesn't matter at all).
Likewise you could keep a coordinate at 1 (or whatever) as long as it doesn't change, it isn't used.
Making a copy then is easy: copy the table and change one of the unused 0's into a 1. Both are 3D cubes as explained before, but they are translated by a distance 0,0,0,0,0,1 (or whatever coordinate you changed), and together now form a 4D hypercube.
Question for the class: what if you correlate the coordinates? Ie, you pick two columns and only use 0,1 or 1,0 and never 0,0 or 1,1. Then that one column counts as 1 bit. This way you can ALSO make 2^N vectors of every "permutation", but using more than N (changing) coordinates (answer: a hyperblock; unless you only use pairs, for example,
0,1,0,1,0,1
0,1,0,1,1,0
0,1,1,0,0,1
0,1,1,0,1,0
1,0,0,1,0,1
1,0,0,1,1,0
1,0,1,0,0,1
1,0,1,0,1,0
is a perfect 3D cube, in 6D space).
EDIT 2
unrelated maybe, but a neat invention of me:
0,0,0,0,0,1
0,0,0,0,1,0
0,0,0,1,0,0
0,0,1,0,0,0
0,1,0,0,0,0
1,0,0,0,0,0
Is an N-dimensional hyper tetrahedron in N+1 dimensions.
Isn't it amazing how simple the coordinates become if you add one dimension?!
Try to write the coordinates down using only N dimensions :p (if at all possible!).