CMPUT 114 Introduction to Computing Science Course Outline
Notices
General Information
Term: Fall 2006
Number of credits: 3 credits
Students must check the Notices section of the web site on a regular basis.
Learn more about CMPUT 101:
CMPUT 101 or
CMPUT 114 or CMPUT 299 - Which should you take?
Lecture and Contact Information
Lecture A1
M W F 09:00
- 09:50, CSC B 10
Instructor(and Course Coordinator): Sherif
Ghali
E-mail: ghali@cs.ualberta.ca
Office Hours: Mon and Wed 4pm-5pm in the lab (CSC 125) or by appointment
Lecture A2
M W F 10:00
- 10:50, CSC B 2
Instructor: Sherif Ghali
E-mail: ghali@cs.ualberta.ca
Office Hours: Mon and Wed 4pm-5pm in the lab (CSC 125) or by appointment
Lecture A3
M W F 14:00
- 14:50, CSC B 2
Instructor: Duane Szafron
E-mail: duane@cs.ualberta.ca
Office Hours: Monday and Wednesday 13:10 - 13:50 in ATH 358 or by appointment
Lab Instructor
Nafeesa
Mohamed
E-mail: nafeesa@cs.ualberta.ca
View more contact information.
Overview
An introduction to solving Computing Science problems by writing computer programs in a high-level programming language called Java. Students are introduced to objects and values, messages and methods, control structures, and simple containers. Discussion of elementary algorithms and software engineering techniques for constructing elegant and robust solutions to problems.
Objectives
After completing the course, students should understand the concepts:object, primitive value, message, method, selection control structure (if, switch), repetition control structures (while, for), variable, object reference, method parameter, container (Arrays, Vectors, Stacks etc.), searching, sorting, recursion and inheritance. Students should be able to use these concepts to construct small robust programs that solve simple problems.
Pre-requisites
Pure Math 30 and CS 30 or equivalent. A basic knowledge of computer programming is required. Students should understand variables, assignment, arithmetic expressions, if statements and loops. Students who do not have a basic knowledge of computer programming should enroll in CMPUT 101.
Course Topics
- Problem solving using objects, values and classes (Approx. 8 hours)
- Implementing classes (Approx. 5 hours)
- Selection control structures (Approx. 2 hours)
- Testing and debugging (Approx. 2 hours)
- Container objects - Vectors and Arrays (Approx. 3 hours)
- Repetition control structures (Approx. 3 hours)
- Searching and sorting (Approx. 4 hours)
- Subclasses and inheritance (Approx. 3 hours)
- Recursion (3 hours)
Course Work and Evaluation
| Course Work | Date | Weight |
|---|---|---|
| Laboratory exercises | See schedule | 10 % |
| Assignment 1 | Due: 9:00am Oct 30 2006 | 4 % |
| Assignment 2 | Due: 9:00am Mon Dec 4 2006 | 6 % |
| Lab Exam | Week of Nov 6 - 10 2006 | 10 % |
| Midterm 1 | Wed Oct 11 2006 | 15 % |
| Midterm 2 | Fri Nov 3 2006 | 20 % |
| Final Exam | Lecture A1: 9:00am Mon Dec 18 2006 |
35 % |
| Lecture A2: 9:00am Tue Dec 19 2006 | ||
| Lecture A3: 2:00pm Tue Dec 19 2006 | ||
| Deferred Exam (if applicable) | 3:00pm Wed Jan 10 2007 | same as Final Exam |
See the course schedule for specific information, assignments and dates for course work.
Grading System
Final letter grades from A to F will be assigned roughly in accordance with the U of A grade distribution guidelines for first year courses.Each instructor will assign the final grades for his or her own lecture section.
Your final grade will depend on the entire profile of the grades in your lecture section and a particular composite score does not guarantee a particular final grade. In other words, there is no direct mapping between an overall % and a final grade (for example, an overall result of 60% does not necessarily result in a C letter grade or any other letter grade).
Deferred Exams
Deferred final exam: Wednesday January 10th 2007 at 3:00pm. Room to be announced later. (Note: you should contact your own Faculty, not your instructor or the Department of Computing Science, for a deferred exam).
No supplemental exams, and no alternative times for exams will be offered in this course. Students should make a note of exam times/days and ensure that they are available.
Lab exam: No EAs will be given for the lab exam (i.e. the weight will not be transferred elsewhere) - no one will avoid the lab exam!
Re-evaluation
All questions/concerns about the grading of any CMPUT 114 coursework or exams should be directed to the appropriate member of staff within 1 week of the work being handed back (not when it was collected). Questions or concerns raised after the 1 week deadline will not be considered.
Course Materials
There is no required textbook for this course. Lecture notes and lab materials will serve as the primary sources of information on the concepts of object oriented programming (OOP) and provide, to many students, sufficient details on the Java language. Many free books on introduction to programming in Java can be found online. For example, this free book by David J. Eck provides an interesting discussion on OOP and related programming techniques. For those students who do find it convenient to have a Java book handy, we recommend the following:
Introduction to Programming Using Java: An Object Oriented Approach, 2nd Edition, by Arnow/Dexter/Weiss. Pearson Education, 2003 ISBN 0-321-20006-3. Copies of this book are reserved in the reading room of the Cameron Library (Cameron Library Circulation Desk). The book can also be purchased from the university bookstore. Please note that the readings indicated on the lecture schedule refer to this text book.
Note: As this book is only recommended, exams in this course will be based on lecture notes and lab practices, not on this book.
Policy
Course Outlines
Policy about course outlines can be found in Section 23.4(2) of the University Calendar.
Academic Integrity
The University of Alberta is committed to the highest standards of academic integrity and honesty. Students are expected to be familiar with these standards regarding academic honesty and to uphold the policies of the University in this respect. Students are particularly urged to familiarize themselves with the provisions of the Code of Student Behaviour (online at www.ualberta.ca/secretariat/appeals.htm) and avoid any behaviour which could potentially result in suspicions of cheating, plagiarism, misrepresentation of facts and/or participation in an offence. Academic dishonesty is a serious offence and can result in suspension or expulsion from the University. (GFC 29 SEP 2003)
Exam Policy
All CMPUT 114 exams are closed book. No books, notes, calculators, laptops, or other aids are permitted.
Photo ID must be shown prior to entering ALL exams, and students will be checked off against the official class list. You will be required to sign an attendance sheet, and may be seated according to the instructor's seating plan.
It is an academic offense to attend (or even attempt to attend) an exam in which you are not officially registered.
All cases involving academic discipline will, without hesitation, be dealt with by the Office of the Dean of the Faculty of Science.
Deferred Exam Policy
See above for the deferred exam date.
Collaboration
In this course, collaboration on lab exercises and programming assignments IS ALLOWED. This means that you can freely discuss with other students the concepts involved and even how they may be solved. The purpose of allowing collaboration is for students to learn from each other, and to understand the course material through discussion with fellow students. However, you may NOT submit someone else's work with your name on it as if it were your own. The following measures will be used in this course to separate collaboration from plagiarism:
- You must understand your submitted program. If your program is sufficiently similar to someone else's, you may be called in either by your instructor or by the course coordinator to provide an explanation of how your program works.
- If you collaborated with one or more persons, on each of the assignments
submitted you must clearly acknowledge this by including the following at
the top of the assignments:
- the names and email addresses of all the students involved in the collaboration
- the lab and lecture sections in which each student is registered
Grading Policy
Learn more about the CMPUT 114 Grading Policy.
Excused Absences
CMPUT 114 has strict rules regarding Excused Absences, documentation and deadlines. Students are expected to read the CMPUT 114 Excused Absences Policy on the course web site and be familiar with the course rules.
E-mail Policy
Review the University’s Electronic Communications Policy and the CMPUT 114 E-mail Policy.
Department Policies
Refer to Department Policy to learn about:
- Collaboration
- Excused Absences
- Conditions of Use
University Policies
The University of Alberta policies inlcude, but are not limited to, the following: