CAS 1MA3: Computer Based Problem Solving - Fall 2011
Outline
Announcements:
No labs or tutorials until September 12th. Labs and tutorials will cover the same material, and it is important that you are registered in, and attend,
a tutorial before a lab if you want to see material in the right order. If you have a laptop you plan to use for homework, bring it to the first tutorial to learn how to install the (free) software you
will need. If you want to get started, try installing the Haskell Platform.
The first weeks in the tutorials and labs will focus on material from the book, and the lectures will focus on basic problem-solving strategies.
The course is currently full, so if you are going to drop the course, please try to drop before the add deadline to give other students the chance to register.
Calendar Description
A first course in computer science, focusing on the practice of problem solving, in the context of interesting software applications. Problem formulation, problem decomposition, procedural formulation of problem solution.
Anti-Objective
This is not a course about learning to use specific software or programming languages.
Course Objective
This is a course for people who want to know what Computer Science is about,
either for general interest, or because they plan to do a degree or minor in CS.
No previous experience is required, but problems will be structured in such a way that more experienced students will be able to learn something by peeking inside.
Textbook
Programming Haskell, Graham Hutton. (Should be in the bookstore.)
Instructor
Christopher Anand, ITB-213, x24895. anandc (circled a) (name of university) (country). Make an appointment by email.
TAs
Jessica Pavlin, ITB-229, pavlinjl (circled a) (name of university) (country).
M Hossain (see Avenue for virtual office hours and contact info)
Curtis D'Alves (see Avenue for contact info, including drop-in times in Thode)
Schedule and Evaluation
Topics
Since this is a revised version of the course, some of our plans for topics may change either because some topics take longer than expected,
or because your feedback suggests that we change the emphasis of the topics.
These topics will be interspersed with lectures and activities based on the textbook, Programming Haskell,
of which we will cover the first 7 chapters, in order.
Haskell Resources
The focus of this course is on problem solving, not programming, but if you are thinking of continuing in Computer Science,
learn better when things are more concret, or think you might like programming for itself, here are some resources to get you going:
Web-based interactive tutorial.
Haskell Platform, the best way to download a compiler.
Tutorials, News, etc.
Library Reference
Gloss picturing tools.
ACADEMIC INTEGRITY
You are expected to exhibit honesty and use ethical behaviour in all aspects of the learning
process. Academic credentials you earn are rooted in principles of honesty and academic
integrity.
Academic dishonesty is to knowingly act or fail to act in a way that results or could result in
unearned academic credit or advantage. This behaviour can result in serious consequences, e.g.
the grade of zero on an assignment, loss of credit with a notation on the transcript (notation
reads: "Grade of F assigned for academic dishonesty"), and/or suspension or expulsion from the
university.
It is your responsibility to understand what constitutes academic dishonesty. For information on
the various types of academic dishonesty please refer to the Academic Integrity Policy, located at
http://www.mcmaster.ca/academicintegrity
The following illustrates only three forms of academic dishonesty:
1. Plagiarism, e.g. the submission of work that is not one's own or for which other
credit has been obtained.
2. Improper collaboration in group work.
3. Copying or using unauthorized aids in tests and examinations.
If in doubt, ask the instructor how this applies to your work.
TURNITIN.COM
In this course we reserve the right to use a web-based service (Turnitin.com) to reveal plagiarism.
Students will be expected to submit their work electronically to Turnitin.com and in hard copy so
that it can be checked for academic dishonesty. Students who do not wish to submit their work
to Turnitin.com must still submit a copy to the instructor. No penalty will be assigned to a
student who does not submit work to Turnitin.com. All submitted work is subject to normal
verification that standards of academic integrity have been upheld (e.g., on-line search, etc.). To
see the Turnitin.com Policy, please go to www.mcmaster.ca/academicintegrity
Personal Information
In this course we will be using subversion, email and other on-line discussion fora. Students should be aware that, when they access the electronic
components of this course, private information such as first and last names, user names for the
McMaster e-mail accounts, and program affiliation may become apparent to all other students in
the same course. The available information is dependent on the technology used. Continuation
in this course will be deemed consent to this disclosure. If you have any questions or concerns
about such disclosure please discuss this with the course instructor.
Possible Changes
The instructor and university reserve the right to modify elements of the
course during the term. The university may change the dates and deadlines
for any or all courses in extreme circumstances. If either type of
modification becomes necessary, reasonable notice and communication with the
students will be given with explanation and the opportunity to comment on
changes. It is the responsibility of the student to check their McMaster
email and course websites weekly during the term and to note any changes.xsxs