<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CompSci.ca/blog &#187; Prabhakar Ragde</title>
	<atom:link href="http://compsci.ca/blog/author/prabhakar_ragde_stub/feed/" rel="self" type="application/rss+xml" />
	<link>http://compsci.ca/blog</link>
	<description>Programming, Education, Computer Science</description>
	<lastBuildDate>Mon, 21 Feb 2011 06:36:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Computer Science at Waterloo: the new Scheme of things</title>
		<link>http://compsci.ca/blog/computer-science-at-waterloo-the-new-scheme-of-things/</link>
		<comments>http://compsci.ca/blog/computer-science-at-waterloo-the-new-scheme-of-things/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 13:00:27 +0000</pubDate>
		<dc:creator>Prabhakar Ragde</dc:creator>
				<category><![CDATA[Education]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/computer-science-at-waterloo-the-new-scheme-of-things/</guid>
		<description><![CDATA[

First-year computer science courses at the University of Waterloo will undergo a major revision in fall 2008. CS at UW is part of the Faculty of Mathematics, and all Math students (including not only CS and traditional Math students, but accountants, actuaries, statisticians, and many others) take two courses in CS as part of their [...]


Related posts:<ol><li><a href='http://compsci.ca/blog/computer-science-at-lakehead-university/' rel='bookmark' title='Permanent Link: Computer Science at Lakehead University'>Computer Science at Lakehead University</a></li><li><a href='http://compsci.ca/blog/online-introduction-to-computer-science-from-stanford-engineering-for-free/' rel='bookmark' title='Permanent Link: Online introduction to Computer Science from Stanford Engineering (for free!)'>Online introduction to Computer Science from Stanford Engineering (for free!)</a></li><li><a href='http://compsci.ca/blog/computer-science-at-carleton-university/' rel='bookmark' title='Permanent Link: Computer Science at Carleton University'>Computer Science at Carleton University</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img src='http://compsci.ca/blog/wp-content/uploads/2008/03/scheme_at_university_waterloo.png' alt='Programming with Scheme at the University of Waterloo' align="right" /></p>
<p>
First-year computer science courses at the University of Waterloo will undergo a major revision in fall 2008. <acronym title="Computer Science">CS</acronym> at <acronym title="University of Waterloo">UW</acronym> is part of the Faculty of Mathematics, and all Math students (including not only <acronym title="Computer Science">CS</acronym> and traditional Math students, but accountants, actuaries, statisticians, and many others) take two courses in <acronym title="Computer Science">CS</acronym> as part of their core requirements, but they have typically had a choice of courses depending on interest and experience. For the first time in fall 2008, all of the first-term courses will use the <a href="http://www.htdp.org/" title="How to Design Programs: An introduction to programming and computing">programming language Scheme</a>.
</p>
<p>
The course aimed at <acronym title="Computer Science">CS</acronym> majors, CS 135, has been running as an alternative for four years now, attracting both <acronym title="Computer Science">CS</acronym> students and other Math students. Scheme is a functional programming language with simple syntax, which permits the course to focus on ideas instead of language details, and gives the students a simple model of the meaning of a program. The PLT Scheme software (<a href="http://www.plt-scheme.org/software/drscheme/" title="DrScheme is an interactive, integrated, graphical programming environment for the Scheme">DrScheme</a>), specifically designed for education, permits students to start in a simple teaching language with targetted error messages and move upward through language levels of increasing complexity.
</p>
<p>
CS 135 is followed by CS 136 which introduces C and covers notions of efficiency, scalability, and what actually happens at the machine level in both languages. The goal of CS 136 is to provide a firm foundation for subsequent study in computer science.
</p>
<p>
Making its debut in fall 2008 will be CS 115, aimed at non-CS majors. This covers about two-thirds of CS 135, with more examples and less formality. It is followed by CS 116, which covers selected topics from the rest of CS 135 and CS 136, but using Python. Students who find this material to their taste can follow up with CS 136 and other <acronym title="Computer Science">CS</acronym> major courses.
</p>
<p>
Waterloo has had advanced math courses taken by the top 10% of students for decades, but never an advanced <acronym title="Computer Science">CS</acronym> course. CS 145 will also debut in fall 2008. It will feature a highly conceptual approach to topics from CS 135 and CS 136, also using Scheme and C; students will proceed to second-year <acronym title="Computer Science">CS</acronym> courses in the winter term of first year. The use of Scheme means that the prerequisites for the course are aptitude and an open mind, rather than prior experience.
</p>
<p>
The choice of three related entry points offer students flexibility (all courses are open to all students, and they can move up or down easily in the first few weeks) as well as a distinctive approach with proven effectiveness. The skills involved in expressing computation using Scheme as well as C or Python translate well to the many languages students may find themselves using in the workplace, and students in all of these courses get a representative look at important themes of computer science which they may choose to explore in followup courses.</p>


<p>Related posts:<ol><li><a href='http://compsci.ca/blog/computer-science-at-lakehead-university/' rel='bookmark' title='Permanent Link: Computer Science at Lakehead University'>Computer Science at Lakehead University</a></li><li><a href='http://compsci.ca/blog/online-introduction-to-computer-science-from-stanford-engineering-for-free/' rel='bookmark' title='Permanent Link: Online introduction to Computer Science from Stanford Engineering (for free!)'>Online introduction to Computer Science from Stanford Engineering (for free!)</a></li><li><a href='http://compsci.ca/blog/computer-science-at-carleton-university/' rel='bookmark' title='Permanent Link: Computer Science at Carleton University'>Computer Science at Carleton University</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/computer-science-at-waterloo-the-new-scheme-of-things/feed/</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
	</channel>
</rss>


