Soy un gran fanático de la memorización de ciertas cosas.
Cuando enseñé latín, exigí que mis estudiantes pudieran escupir (a extrema velocidad y sin aviso) cualquiera de las declinaciones o conjugaciones que eran responsables de conocer. Si no puede hacer esto, no puede poner las palabras en sus formas adecuadas lo suficientemente rápido como para poder hacer una tarea de traducción. Hice que mis alumnos de literatura romana memorizaran partes de poemas (aunque hay que reconocer que esto no fue tan importante como conocer tu vocabulario, declinaciones y conjugaciones).
Memorizar la sintaxis del código nunca se me ha ocurrido. Nunca memoricé conscientemente la sintaxis en ninguno de los lenguajes que aprendí (C ++, C #, Java, Pascal, QBasic, Visual Basic). Nunca ha sido necesario.
Se aprende haciendo. Aprendes leyendo otro código y adaptándolo. Se aprende utilizando autocompletar e intellisense. En serio, la sintaxis del lenguaje es simple y debería venir naturalmente. C # no es latino.