¿Cuál es la mejor manera de aprender / enseñar AP Computer Science?

Ciertamente tienes algunos estándares altos para tu primer año enseñándolo.

Ya no uso ningún libro, pero Big Java es un dios, que mucha gente usa.

1) Mejores sitios web. En mi clase, utilizamos principalmente mi propio sitio web (que, combinado con mis lecciones, ha reemplazado el uso de un libro). Un

  • CodingBat: tiene algunos simulacros interactivos basados ​​en navegador e incluso tiene una sección de preguntas que se basan en preguntas de prueba AP anteriores, aquí: CodingBat Java AP-1
  • Proyecto Euler: estos, en su mayor parte, son más difíciles que el AP pero le permiten desafiar a algunos de sus mejores estudiantes.

2) Aquí hay algunos proyectos que he utilizado a lo largo de los años que parecen involucrar a los estudiantes y también requieren un pensamiento y habilidades “AP” de alto nivel.

  • Luhn Check: ¡es divertido!
  • Código de demostración para comprender las matrices en la memoria: página en mrmonline.org
  • Para trabajar con Strings, hacemos la asignación inferior “Validtor de String” aquí: Strings and Loops. Proyectos para estudiantes de Java
  • Clase abstracta – Asignación de clase abstracta de cuenta
  • Proyecto bancario -Bank Class
  • Proyecto de interfaz – Relaciones de clase que involucran interfaces y clases abstractas
  • Para ordenar algoritmos, me gusta hacer un proyecto de investigación. Por lo general, brinde a los niños avanzados temas que no están en el AP (montones, clasificación rápida, etc.), pídales que hagan una presentación. darle muchas cosas buenas para este tema, que, por cierto, no se enfatiza en el AP y, si aparece, estará en la parte de opción múltiple.

Ojalá pudiera decir que tengo un plan de estudios completo en línea, que no tengo del todo, porque hacemos algunas cosas en clase, pero, más de las tareas más la forma en que lo desglosamos es aquí CS CS 2013- 2014. Tengo más información, incluida una carpeta de Dropbox con materiales que puede usar libremente en mi respuesta a esta pregunta: la respuesta de Victor Morgan a ¿Cómo puedo obtener una puntuación perfecta para AP Computer Science?

3) Estoy basado en Nueva York … así que no puedo ayudarte

4) Si tuvo tiempo, es posible que desee comenzar con C ++. Puede hacer una breve unidad sobre los conceptos básicos de la administración de memoria: valor frente a referencia, etc. Intente mantener los temas limitados a la sintaxis similar a Java, tanto como sea posible. Descubrí que al hacer que los niños primero administren directamente la memoria y controlen directamente si un parámetro pasa o no por valor o referencia, es mucho más fácil hacer que comprendan algunas de las “decisiones ejecutivas” que Java toma sobre la memoria. parámetro y para explicar lo que está sucediendo con las matrices. Me gusta pasar un tiempo en https://archive.eiffel.com/doc/m… y en Tragedias aritméticas por computadora. También es genial. De lo contrario, francamente, en tu primer año, es posible que tengas el plato bastante lleno.

Espero haber ayudado y buena suerte!

1) Acabo de sacar mi viejo libro de texto de ciencia ficción de la estantería, tratando de recordar si fue realmente bueno o no. Tiene docenas de notas adhesivas saliendo de la encuadernación. Lo hice, pero no lo hago. No estoy seguro de haberlo hecho con otro libro, y no puedo creer que haya olvidado lo increíble que es este:
Conceptos de Java por Cay Horstmann
Tengo la 4ta edición.

Además: buena música, reservada para la depuración es imprescindible. Para mí, es Talking Heads, pero sea lo que sea, lo escuchas mientras depuras y solo mientras depuras. La depuración es algo extraño, que merece sus propias consideraciones psicológicas.

2) Varios algoritmos de clasificación, bastante estándar, justos pero esclarecedores en cuanto a las tareas simples mucho más complejas de lo que parece. También es un punto de partida obvio para las discusiones sobre la complejidad del tiempo (la “gran notación O”).

Apestar. Cuando lo inventaron, en realidad solo intentaban crear un ejercicio para la programación basada en Java. Tanto para repartir en tareas autónomas.

Juego de dados (u otros juegos de dados) Simple, buen ejercicio en “clases”, es decir, hacer una clase para un solo dado, uno para el juego y luego la interfaz para jugar el juego.

Para más información, buscaría cursos introductorios en informática en colegios y universidades no técnicas. Los informáticos son personas muy minuciosas, no del tipo de eludir las tareas de enseñanza de bajo nivel. Más del tipo de invertir tiempo en crear ejercicios interesantes, interesantes y súper explicativos. Probablemente también dispuesto a responder preguntas específicas de profesores de secundaria. Sugiero Eric Aaron (Wesleyan University) y Yi Chen (Pomona College).

3) Una vez asistí a una competencia de programación (Dining Philosophers, creo que se llamaba) en la escuela secundaria. Fue muy divertido, hicimos cosas difíciles en un límite de tiempo, nos sentimos realmente logrados y realmente nerviosos al mismo tiempo, lo cual es liberador. No tengo idea sobre el área de la bahía.

4)
a) Deben aprender lo suficiente sobre las puertas lógicas para recordar que la puerta NAND es de alguna manera importante.
b) Se debe debatir sobre cómo funciona Internet, ya sea distribuyendo datos en una red o protocolo de paquetes.
c) Deberían influir en la experiencia profunda con el código de otras personas. Encuentre una página web limpia y relativamente simple, solicite permiso y pídales que copien y aumenten el html sin orientación. Por ejemplo, tome la página personal de alguien de una universidad o empresa y pídales que la conviertan en su propia página personal. Aprenderán a intuir las estructuras de programación mirando ejemplos de ellas.
d) Algunos antecedentes del hardware de la computadora (también, la física se lo ha ganado, dígales que los transistores de estado sólido son una aplicación de la mecánica cuántica que de alguna manera la gente piensa que no tiene aplicaciones).
e) Algunos antecedentes de programadores y científicos informáticos, como si debieran entender el logotipo de la manzana.
f) Algunas matemáticas discretas. Pasas uno o dos días en un tema o dos selectos y no solo te topas con un subcampo de matemática fundamental para la informática sino que también has abierto un mundo de posibilidades geniales para proyectos. Por ejemplo, la teoría de grafos conduce al problema de la coloración.

Termine el trabajo del curso antes de marzo. Deja 2 meses para revisar y AP Labs.

Tengo un curso en línea de bajo costo para ayudarlo a obtener algunos materiales. (Puede usarlo como trabajo de curso o material complementario). Este cupón solo es válido hasta el 4 de abril. Si necesita un cupón de bajo costo o incluso un cupón gratis para niños de bajos ingresos, avíseme. (Facebook: Eric Chou | Facebook dame un mensaje o correo electrónico. Te aceptaré como amigo).

Fundamentos de programación Java: AP Computer Science A

Un sitio de práctica:

Examen de práctica AP JAVA

El libro de práctica de Barron es lo suficientemente bueno.

Libro en línea gratuito:

Piensa en Java

Software: (BlueJ es mejor que Eclipse o Netbeans para niños de secundaria)

BlueJ

¡Hola!

Si usted es un maestro que busca enseñar el curso AP Computer Science en Java, asegúrese de consultar CodeHS. Hemos creado un conjunto de herramientas integrales para ayudar a las escuelas a enseñar AP CS. Tenemos un plan de estudios basado en la web, muchas herramientas excelentes para maestros y capacitación de maestros.

Los estudiantes escriben su código Java en un navegador web, se ejecuta en un servidor y todo se califica automáticamente. Desde el punto de vista del profesor, puede hacer mucha personalización. Echa un vistazo a más información sobre el curso aquí, anunciando el nuevo curso de Java AP en CodeHS

y no dude en enviarme un correo electrónico [correo electrónico protegido] con cualquier pregunta!

Hemos tenido miles de maestros de informática en todo el mundo que usan CodeHS para ayudar a enseñar un curso y nos encantaría ayudarlo.

Déles una idea de lo que experimentarán en el mundo real. Comience por hacer que construyan una aplicación de complejidad media. Luego, tíreles un poco de softball en forma de algunas tareas menores de mantenimiento. Luego, pídales que modifiquen la aplicación para manejar cambios importantes en los requisitos. El ejercicio general debe enseñar al alumno sobre la importancia de pensar realmente en el diseño inicial y debe exponerlo al dolor causado por una mala planificación. El proyecto final debe ser rehacer la tarea original e incorporar las lecciones aprendidas.

Este curso gratuito sobre edX puede ayudarlo a prepararse; de ​​hecho, incluso puede usar material en su clase o hacer que sus estudiantes se matriculen gratis para ayudar a enriquecer el plan de estudios. ¡Espero eso ayude! Preparación para el examen AP * Computer Science A – Parte 1 (comienza en mayo de 2015).