Augustana Faculty logo and wordmark


 

COMPUTING SCIENCE 110
Introduction to Computing Science

COURSE DESCRIPTION AND REGULATIONS

Fall Term, 2004



Quick Links
. Course Outline . Assignment Weightings . Percentage Conversions


Instructor: Jonathan Mohr  
 
Office: N104 Phone: 679-1514
 
Office Hours: click here E-mail: mohrj@augustana.ca


Calendar Description:

An historical overview of the development of modern computers. Computer applications and the social implications of information technology. The user interface and system design principles. Introduction to programming and the software life cycle. Overview of programming languages and introduction to program translation. Gates, circuits, and Boolean logic. The architecture of a von Neumann machine. Turing machines and the theory of computation. Artificial intelligence. Computers and society.


Requirement:

Note: Credit may be obtained for only one of CSC 110, 105, and EDC 202.

See also the Calendar descriptions of all Augustana Computing Science courses.
 



Objectives:

  1. to survey the history of the development of the computer;
  2. to understand the concept of an algorithm;
  3. to understand the relationships between the various levels of computer programming, from machine language at the hardware level, through assembly language, to high-level languages, including the translation process between the levels;
  4. to understand the hierarchy of complexity of computer architecture by combining switches to make gates, combining gates to make circuits, and combining circuits to make a processor;
  5. to come to view a program as an abstract machine, to be convinced that a program is equivalent to a Turing Machine, and to conclude that some problems are unsolvable by any programs for any computer.
  6. to consider the Turing Test as an operational test for machine intelligence, to explore the nature of human intelligence, and to assess the accomplishments and current state of artificial intelligence research;
  7. to discuss the possible implications of present and future technology on society and individuals.

Method of instruction:

The lecture component of this course will present a survey of the field of computing science -- algorithms, programming, computer logic, computer architecture, the theory of computation, artificial intelligence, and user interface design -- along with a brief introduction to the history of computing, computer applications, and the social implications of information technology.

The lab portion of the course will supplement the lectures with directed hands-on experiences. Students will learn to construct simulated gates and circuits, program a simulated computer in machine and assembly language, write simple programs in Java, and design Turing Machines to calculate simple expressions.

Each lab will take from one to approximately three hours to complete. Students will be able to complete some lab assignments during the scheduled lab session each week, but will have to complete others on their own outside of the supervised lab session. Lab assistants will be available in the computer lab during the hours posted to help students with any problems they may encounter in using the computers and installed software. Students are encouraged to consult with the course instructor about the conceptual content of the labs, since the lab assistants will not necessarily be familiar with the lab assignments in this course.

Textbook:

Required:


Attendance and Course Work Policy:

In accordance with Augustana's policy on attendance and course work, any student who has an inordinate number of absences in a course or who neglects his/her academic work may be suspended from the course (which includes being refused permission to attend class sessions, submit assignments, and write examinations, including the final examination).

In this course, any student missing more than two class or lab sessions or failing to submit more than one assignment may be suspended from the course.

A suspended student will be notified of the suspension by e-mail and by paper mail addressed to the student's assigned campus mailbox. It is the student's responsibility to arrange a meeting with the instructor to discuss the terms under which the suspension may be lifted.

A more complete list of rules which will apply in this course and some suggestions for active learning are specified in Expectations Regarding Attendance and Course Work.

Grading Policy:

Grades will be awarded using the Alberta-wide standard alpha four-point grading system. For assignments marked in percent, the percent/grade equivalents in this course will be approximately as indicated in the following table:

Alpha Grade -- Percentage Conversion Chart
   Alpha Grade     Percentage Range 
A+ 90 - 100
A 85 - 89
A- 80 - 84
B+ 77 - 79
B 73 - 76
B- 70 - 72
C+ 67 - 69
C 63 - 66
C- 60 - 62
D+ 55 - 59
D 50 - 54
F 0 - 49


 

Your performance will be evaluated through eleven lab assignments, two mid-term exams, and a final exam.

Lab assignments are due by midnight on the due dates stated in the course outline. Late submissions will be accepted with a penalty of 1% per hour or portion thereof.

The weighting of exams and assignments will be as follows:

      Lab assignments   50%
      Mid-term exams   20%
      Final exam   30%

Eight of the lab assignments will be worth 4% each, and the other three (designing a web page and programming in Java with procedures and arrays) will be weighted at 6% each. The two mid-term exams will be weighted at 10% each.

Course Outline:

The approximate dates on which the various topics of the course will be presented, along with an indication of which chapters or sections of the textbook are to be read and which exercises are to be completed in connection with each topic, are given in the accompanying course outline.

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 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.

Guidelines for Academic Integrity in This Course

All work submitted for grading must be your own, unless a group of students have arranged with the instructor in advance to complete a given assignment as a group project. Programs that appear to be the same, to have been derived from a common source, or to have been fraudulently obtained or created by any means will be given a failing grade.

Some of the practices which are regarded as inappropriate academic behaviour (academic dishonesty) are:

Students are encouraged to assist one another in completing assignments, especially by explaining concepts to each other, by helping one another to learn the use of system utilities and programming environments, and by assisting each other in locating bugs. However, in order to avoid inadvertently becoming involved in a case of academic dishonesty (for example, when another student submits a program which is suspiciously similar to yours), you are advised to:

 

NOTE: Policy about course outlines can be found in §23.4(2) of the University Calendar.

Links
. Course Materials Index . Top of this Document . Instructor Contact Information
Copyright © 2000, 2004 Jonathan Mohr