Yliopiston etusivulle Suomeksi På svenska In English
Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Department of Computer Science

in English suomeksi Course contents (and schedule)

Tietokoneen toiminta (4 op), Kevät 2008
Computer Organization I (4 cr), Spring 2008


PLEASE NOTE: If you are ettending this course in Spring 2008 and want information (and practice session) in English, please email the instructor (Teemu.Kerola (at) cs.helsinki.fi) about it. All information will not be provided in English unless there seems to be demand for it.


This page will be updated whenever necessary, i.e. fairly often. Check back at least once a week during the course. The contents of the course may change a little, even at a late stage. There is plenty of new course material and I am quite sure that there are still some mistakes or inconsistencies remaining there. I appreaciate all feedback concerning the course material. Thank you. o

PLEASE NOTE: There are pretty many instructions, but you should read and follow them to pass the course. The 15 minutes used reading the instructions will save at least 60 minutes of your time later on. Please read all instructions, especially this schedule page. Thank you.

The group meetings begin on the 1st week of the course. Study circles are formed in that meeting. There is tentatively one English speaking study circle group meeting time reserved. Please be there at that 1st study circle group meeting. If you do not belong to to any study circle after the first week, you should contact your instructor immeadiately. Students not belonging to any study circle will be removed from the course roster after the 2nd week.

If you cancel you participation for this course, it is polite to inform your own study circle about it, so that no unnecessary strain in caused to them. You can contact them via email or phone. If a student is not heard for a while (2-3 days?), study circle may deem that student lost and act accordingly. Study circles should not wait for vanished members too long, because the course is only 6 weeks long.


Notice 1: All students must have an account for the Computer Science Department's Linux and Windows systems. Minoring students must first get a UNIX account, or cc account, from the IT Department. 

Notice 2: In order to be recognized in the course bookkeeping, all students must have registered for this course through the ILMO system at the department. If you have not registered yet, please do so now. Please give your student id in your ILMO information. Thank you.


Goals

The main goal of the course is to understand the focal features of a computer system from the aspect of the executable program; how is the computer system organized and how does it execute a program? The focus is on running one program at the machine-language level.

This goal is described in more detail in the course description and learning goals.

Course format: Study Circle and Web Course

The course will be realised through study circles. This means that, instead of so-called normal exercise sessions, the students are divided into smaller teams (study circles) where they complete normal exercises as well as larger projects together. The idea behind study circles is that people learn better when they learn together. When students explain things to each other, they learn themselves and/or discover gaps in their own knowledge. Study circles have one compulsory meeting every week with their instructors, and they can meet at other times if they want to.

This course is a web course. This means that it includes the use a considerable amount of online material, and the systematic use of online communication inside the course. Though this is an web course, it cannot be completed purely as a distance course. Most of the learning process should happen during individual work and teamwork, but it is still necessary to be present at campus at some points in the course.

Only the opening and summary lectures are normal lectures. Learning material is covered with web lectures and tect book.

I recommend that you buy Stallings' book ([Stal06] or [Stal03]) as a remedial text, though it is not absolutely necessary. It is hardly worth it to buy Tanenbaum's book ([Tane06] or [Tane99]) just for this course.

  • [Stal06], chapters 1-2, 3-3.1, 4.1, 5-5.2, 6-6.1, 7-7.5, 8-8.2, 9-9.2, 10
  • [Tane06], chapters 4.2, 7.3-7.4

General Information

Instruction Schedule

The instruction schedule contains the times when the person in charge of the course or the instructor will be present in person. See the Finnish contents and schedule page.

Evaluation

There are more than 60 p available, and 30 p are needed to pass. Normal grade levels are: 1 (30 p), 2 (35 p), 3 (40 p), 4 (45 p) ja 5 (50 p). These can be changed if needed.

Grading is composed on the following components:

  • Study circle exercises and discussion assignments: 10 p, minimum requirement 1 p
    • you get 1 p toward your grade with 30%, and 10 p for 90% of the maximum hwp's (home work points, htp)
  • Projects 14 p (18, with extra project included), minimum requirement 1 p
    • Making pactice problems (pr1): 8 pp, minimum requirement 1 pp (project points)
    • Course exam model solutions and evaluation guidelines (pr2, extra project): 4 pp
    • TitoTrainer programming assignments (pr3): 6 pp, minimum requirement 0
    • you get 1 p toward your grade with each project point (pp)
  • Course exam: 36 p, minimum requirement 18 p
    • you get 1 p toward your grade with each point from the exam
  • Total: 60 p (a little bit more with extra project), minimum requirement 30 p

The bookkeeping shows all course work recorded so far. Passive, inactive students will be removed. If you are still an active member in this course, but your name is missing from the bookkeeping, please contact the person in charge of the course. Projects pr1, pr2, and pr3 are shown as HT1, HT2 and HT3. Course results and course exam grading guidelines (only in Finnish, sorry) will be visible here for a few weeks once grading is completed. Course bookkeeping and results are published in web and bulletin boards only with student id number. The course bookkeeping software will not find your student id number unless you gave it in ILMO. So, please put your student id in your ILMO information.

Study Circles

All students must participate in the study circles. The study circles will remain the same throughout the course and they are formed during the first exercise session. The division of study circles is mainly based on which meeting times will suit the members, so bring your calendars. A study circle will consist of 2-4 students. In special cases, one student can form a study circle alone, but this will mean a heavy workload. And why study alone when you can do it better as a team?

All students can benefit from the study circles. A student who has understood something better than another can enhance that knowledge while helping others to understand. It is easier to ask a fellow student about difficulties than to ask an instructor. Even the lone wolf will benefit from learning teamwork, since after graduation, most work in the job market will entail teamwork. The general principles of study circles at the department of Computer Science are described in the guide by Kurhila & Lokki, "Opintopiirikurssien opettajan opas.” Attachment 5 of the guide is a guide for students. You will find it translated here. A Study Circle Contract, given in the same guide, will be signed when study circles are formed.

The aims of the study circles at this course are (a) to carry out larger projects(pr1 and pr2) as teamwork, and (b) to act as support group for smaller exercises and other things connected with the completion of this course. Small exercises are usually traditional homeworks. Everybody is assumed to do them individually, discussing their study circle if needed. You gain homeworks points (hwp) toward your grade, but only when attending assistant lead group meetings.

In project work, it is typical that some work differently or on a different scale than others. The small differences (±20%) are normal and come with the territory. However, if some of the study circle members carry out a great deal more work than the others, they will be awarded for this with a better grade. Some study circles can even plan their work so that the 'eager beaver' in the team will carry more of the workload, and will also receive a larger part of the study circle's credit (pr1). The main thing is that everyone goes through a learning process. The study circle should take care that all team members learn all relevant topics for the course.

The study circles will meet at least once a week, with the instructor at the weekly meeting that all study circle members have enrolled for. In addition, it is to be recommended that the study circles meet at other times that they can agree on among themselves. Some suitable meeting places are the group work room on the bottom floor of the Science Library, and the hallways in Exactum and Physicum. When the restaurants are closed, you can use the tables in both Exactum and Physicum. Use your imagination! You can also have online meetings.

Exercises and group meetings

There are weekly smaller assignments for the study circles, similar to ordinary course exercises. They can be completed individually or with your own study circle. A good way of going about this is that each student goes over the exercises by themselves and then they solve them together in the study circle. Each student should learn the subject matter of the exercises thoroughly, preferably before the exercise is discussed at the weekly group meeting. Students get points for the exercises according to their difficulty level, but only for completed exercises and only if present at their own group meeting.

We will try out new group meeting system, where assignments are discussed only in student-led small discussion groups. Each "assignment table" is led by a few students who have done that problem, and students go through all tables according to their needs. It is assumed that all students have familiarized themselves with the problems in advance and at least tried to solve them. The student leading some table can move to other tables as a "customer", once another student is found to lead his/her original table. The assistant will help when needed.

One practice group will be in English if there is demand for it. If it is in English, then all discussions (and presentations, questions and answers) will be in English, whenever students not speaking Finnish are present.

Torrent VCG "streamed" lectures

The initial and final (normal) lectures will be stored into the university Torrent VCG ( Video Conference to Streaming Gateway) server, from which they can be viewed in real time (?) or later on in Windows environments. You need proper codecs which have been already installed into the departmental PC's but for your home machines you may need to install them your self.

The lectures will work at departmental systems with the following browsers and attachments:

  • Internet Explorer: QuickTime, RealPlayer, MediaPlayer
  • Firefox: QuickTime, RealPlayer
For home use the is some guidance (Opetusteknologiakeskuksen ohjeistus) at the university's Educational Center for ITC, but only in Finnish and the material is more suitable for the teacher than the student.
  • The easiest to use is probably the RealPlayer, which is downloadable directly from the university.

Web Lectures

Only the first 4 web lectures are in English. Sorry.

To follow an online lecture, you need a plug-in (Macromedia Authorware Web Player) for your browser. It is a standard feature in the department's Windows computers for students. (You cannot install it yourself on the department's computers; neither can you install any other browser plug-ins.) This plug-in only exists for the Windows environment and it works best in the Internet Explorer. Sorry. You can test the plug-in here. The system gives certain relevant warnings when starting the plug-in, but as far as I can see, it is safe to use.

On Computer Science Department computers, students can also follow the online lecture from a Linux environment through the Windows 2003 Terminal Server. The server enables the use of Windows environment and programs, even from Linux computers. You can access the server from department Linux computers simply with the command “windows”. This opens a login box to the Windows system. Login with your usual CS Department username and password. The Authorware plug-in is already installed into the IE on this server. If you want more control over remote access software, you can use the rdesktop (http://www.rdesktop.org) program with the command "/usr/local/bin/rdesktop winserver".

If you have any problems with the Authorware Web Player plug-in, please report them to the person in charge of the course.

There is a User's Manual and a FAQ (mostly in Finnish, sorry) for the use of the online lectures. They are available on the web and accessible from the online lectures, as well.

Web-lectures are also accessible from their common contents page (only in Finnish, sorry).

Titokone and TitoTrainer

We get acquanted with (symbolic) machine language programming with the ttk-91 computer and its (symbolic) assembly language, designed by Auvo Häkkinen especially for educational use [Häkk98]. We have Titokone simulator environment for assembly language development, running and animation. We learn to use Titokone with programming assignments. Titokone has simple installation and basic use guide.

We also have TitoTrainer, with which we can automatically check correctness of ttk-91 programs. TitoTrainer keeps track of completed problems and you get points towards your grade from them. 

TitoTrainer has still teething problems. They are listed on web page Features and Problems. Please be patient and report new features and problems to the instructor. Thank you.

TitoTrainer requires its own user id and password. Create them by clicking "Sign up" hypertext in TitoTrainerin sign-up page. Make your id part of TitoTrainer course "Tito K2008". Please use your student id number (and not your soc. sec. nr) when creating your TitoTrainer id.

TitoTrainer-problems have include classification information in their names (e.g., a-150 CtoTtk91), where the first letter is the level :

  1. beginner, simple code, if-then-else, loops
  2. more complex code, data structures
  3. calling subroutines, advanced machine code, code optimization
  4. subroutine implementation, multi-dimensional arrays
  5. complete programs with subroutines, device driver
  6. self modifying code, anything

The 3-digit number behind the level give a difficulty within that level (100=easy, 900=difficult). It is recommended, that problems are done in level/difficulty order. Problems with difficulty 700 at any level may be challenging. Problems with difficulty 900 require deeper understanding.

Titokone was implemented by Koski software design project in Spring 2004. TitoTrainer was implemented by Kohahdus software design project in Autumn 2006, utilizing earlier prototype designed by Koskelo software design project in Autumn 2004.

Group meetings

The study circles meet at least once a week, with an instructor, at the group meeting. Study circles are formed in the first group meeting. usually the group meetings are used to go through that week's homeworks and to check on project work. It also possibel to ask the group meeting assistant anything about the course, concerning both contents or logistics.

Projects

There will be a larger project (pr1) during the course, to be completed as teamwork in your own study circle. The study circle will implement the project and write a report on the results of the project. It is likely that the members of the study circle will have to study some background information through the online lectures, textbooks, online revision exercises and exercises and discussion assignments at the beginning of each project. The progress of the project will be monitored at the weekly meetings, where students can ask the instructor for help on any problems.

The study circle can also do another, smaller project (pr2). This project is optional and all points gained with it are extra. You can do it also independently or with a new study circle.

The third project (pr3) is more ttk-91 programing practice with TitoTrainer.

The projects will yield project points (pp) in accordance with the results of the project and partly in accordance with the involvement of each student in teamwork (pr1).

Contents and schedule

in English in English in English in English in English in English in English in English in English in English in English in English in English in English in English in English in English in English in English
The rest of the schedule page information (exact schedule and references) will be only on the Finnish Schedule Page. Please read it from there. New information given during the course will be at the beginning of that page. The text given in English is colored green.
in English in English in English in English in English in English in English in English in English in English in English in English in English in English in English in English in English in English in English
Teemu Kerola