130 likes | 193 Views
Explore the importance of language in Computer Science education, highlighting the benefits of a common language for teaching and examination. Discover how setting standards in programming languages can improve learning outcomes and drive quality. Join a community dedicated to providing the best tools and support for educators and students alike.
E N D
The 2013 Calgary Teachers’ Computer Science Symposium Freedom when YOU WANT IT.Support when you need!
Language is important! • The Language Agnostic Doctrine serves well those with sufficient experience (taught long time) and/or education (degree in Computer Science) but fails those with neither advantage. • We are a community. It is not acceptable to have high standards in only some schools.
Curriculum is content! • Alberta’s current CSE curriculum is a set of objectives at an abstract level that allows the best and the worst outcomes. • We need to know what to DO! • We don’t make “something”. • We make a “house”.
Algorithms must be implemented. • Language is a vehicle. We need to drive a vehicle to reach our destination. • The most powerful-for-learning vehicles today for creating and implementing algorithms are programming languages. • We are a community. We need to speak a common language if we are to share the proceeds of our blood, sweat and tears.
External Exams Drive Quality. • Alberta’s teachers are amongst the brightest and most effective in the world. • Alberta’s administrations are hugely supportive and caring BUT • Alberta’s administrations and teachers need guidance of the best standards.
We need a language of examination. • Nobody speaks Esperanto because Esperanto does not have culture: literature, tools, art, expression. • Nobody programs pseudocode because pseudocode does not have culture: applications, games, tools, expression. • A real language is not agnostic. A real language implements culture. Language agnosticism is superstition. It does not exist.
Freedom is not the enemy of duty. • We have a duty to deliver the best tools to learn with at our disposal. • Language agnosticism is dismissive and lazy. It evades the duty to be selective. • Alberta’s CSE curriculum has a plan. • Alberta’s CSE curriculum needs to be implemented!
Implementation == Execution. • We don’t implement programs in ether. • We implement programs in languages. • ALL of our students deserve best service. • External exams set highest standards. • We need a language of examination. • The best laid plans of mice and men need to be implemented in something executable.
Examine what you teach. • We need to set standards in a single programming language. • Then the same standards can be met or exceeded by teaching another language. • We need to set exams in a single language. • The exam can then be set in other comparably powerful languages.
What is a “better” language? • Theoretically, there are many candidates. • Pragmatically, we ask what teachers must and do already teach? • There are today two candidate languages. • Java and Python are taught by most teachers. • C/C++/Object C has strong historical roots.
Examine the language of instruction. • A “common” language needs broad support. • This provides “support when you need it.” • But an exam can be implement in a comparably powerful language. • This provides “freedom when you want it.” • The teacher’s duty, where the teacher wants to teach a different language, is to grade the examination in the language of instruction!
Good is not the enemy of best! • We need a “good” examination language. • Pragmatically, I suggest Java because it continues to be the most broadly used “good” language. • The “standard” marking key can be in Java. • “Sanctioned” equivalent exams in other languages must be encouraged.
Examination Drives Content. • Once we know our destination, we can plan the itinerary. • We need to know where we are going before we can get there. • We need the destination (examination). • Then we make the journey TOGETHER!