Syllabus

The cour­se will discuss (1) the natu­re, foun­da­tions, and rich­ness of com­pu­ter scien­ce in rela­tion to its edu­ca­tio­nal objec­ti­ves; (2) spe­ci­fic peda­go­gi­cal aspec­ts rela­ted to tea­ching com­pu­ter scien­ce; (3) lear­ning pro­gram­ming and its main didac­tic issues; (4) a selec­tion of research topics in the field of com­pu­ter scien­ce education.

Part 1 — Historical/epistemological foun­da­tions of com­pu­ter science

  • Computer scien­ce as a tool vs. com­pu­ter scien­ce as a discipline.
  • The natu­re of com­pu­ter scien­ce: mathe­ma­ti­cal, scien­ti­fic, and engi­nee­ring perspectives.
  • Computational thin­king.

Part 2 — Pedagogical aspects

  • Constructivism and constructionism.
  • Peer instruc­tion, pair programming.
  • Problem-based, inqui­ry-based, and chal­len­ge-based teaching.

Part 3 — Teaching programming

  • Notional machi­ne
  • Misconceptions
  • Role of varia­bles and ele­men­ta­ry patterns
  • PRIMM method

Part 4 — Research topics

  • Computing Education Research — sta­te of the art.
Scroll to top