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 2009
Computer Organization I (4 cr), Spring 2009


PLEASE NOTE: If you are ttending this course in Spring 2009 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. o


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. Study circles and their members are shown in projekt pr2 status page.

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.

(For Finnish speaking students we will also have an experimental socratean weekly discussion meeting. That discussion is only in Finnish. Sorry.)

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

  • Please see the course homepage http://www.cs.helsinki.fi/teemu.kerola/tito/index.html for general matters in connection with the course (i.e. other than matters specifically related to this semester's course)
  • This contents page and (mixed language) Finnish contents and schedule page have all information pertaining to this lecture course. Actual schedule is listed only in the Finnish contents and schedule page.
  • If you want a fast response from the lecturer (e.g. the webpage does not open etc), please use e-mail. New matters concerning all students in this course will be published only on the Finnish contents and schedule page (but also in English).

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 is 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:

  • Homeworks (including some TitoTrainer problems): 10 p, minimum requirement 1 p
    • Homeworks are graded as homework points (hwp, htp), which are linearly scaled to points toward your grade. You get the maximum points with some 90% of max hwp.
  • Projects 14 p (17 p with extra project included), minimum requirement 1 p
    • Projects are graded as project points (pp) which are linearly scaled to points toward your grade.
    • Project pr1: TitoTrainer programming assignments: 12 pp, minimum requirement 0 pp
    • Project pr2: Making practice problems: 16 pp, minimum requirement 0 pp
    • Extra project pr3: Course exam model solutions and evaluation guidelines: 6 pp, minimum requirement 0 pp
  • Course exam: 36 p, minimum requirement 18 p
    • Exam points count as is toward your grade.
  • 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 lecturer. Projects pr1, pr2a, pr2b and pr3 are shown in bookkeeping as HT1, HT2, HT3 and HT4.

Study Circles

All students should 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 little bit heavier 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(pr2 and maybe pr3) 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 (pr2). 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.

Study circles agree on their own schedules. 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.

If you want to do homework problems (or any other course work) together with other students, there is one discussion group in course Moodle pages for just this purpose. For example "Hi, Maija and John are doing homeworks in room XYZ, starting at 14.30 today. Do you want to join us?" or "We just started working on homework ABC in room XYZ. Do you want to help us?". It is up to you how to utilize this channel.

We will use a group meeting system, where assignments are discussed only in student-led small discussion groups. The instructor assigns students into tables trying to assign students so that in each table for each problem there would at least one student who would have solved it. You may assume that all students have at least tried to solve all homework problems. If someone has not, then he/she can not get maximum gain from the practice session. There is not enough time to cover all problems if you do not familiarize yourself with them in advance.

Correct solutions are given in the practice session to each table so that you can evaluate the correctness of your solutions. The correct solutions will be placed into web the following week. Once the table has discussed all homeworks, they can continue discussion based on the additional topics given with the model solutions. If the table is completely done, its members may join other tables as consultants. However, everybody will stay in the class room.

In the English speaking practice session one or more tables may be in English as needed. If it is in English, then all discussions (and presentations, questions and answers) will be in English. All students participating in English practice session should be prepared to join English speaking tables.

It is especially rewarding to explain some topic to another student that has already worked the problem but not quite mastered it yet. Helping other to learn is good for both, and usually the one doing the teaching will learn more. However, please do not ruin a good homework by giving the answer directly - that will not induce so much learning. Good learning is achieved by alternating (a) independent study, (b) problem solving, and (c) discussions on problems and their solutions with other students.

The goal of homeworks is learning, not just getting hwp's for passing the course or for better grade. Learning occurs especially when thinking about and solving the problem and when discussing the solution and the solution method with other students. Yiou do not learn as much by just reading the given solutions. There are similar examples in lecture notes and text books, so using homework solutions as readable examples is a waste of good homeworks.

The instructor will consult all tables as needed.

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 "K2009". Please use your student id number 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.

Projects

Project 1 (pr1) is done independently and it includes more ttk-91 programing practice with TitoTrainer.

Project 2 (pr2) is done in a study circle and it includes making two new practice problems. The project is returned in two parts (pr2a and pr2b).

Project 3 (pr3) is optional and it is done either independently or in a study circle. You will come up with a model solution and garding guide liens for the exam problems.

The projects are graded with project points (pp) which are given based on quality of ythe work and partly on student participation (pr2).

CSMoodle

CSMoodle is department's own Moodle installation. It is a general learning platform for web-learning, but for this course it is used mostly for implementing dicussion groups. Sign up to course "Tito09" with key "titomoodle".

Common area includes mostly discussion groups, including the above mentioned discussion group to synchronize doing homeworks with other students.

Study circles may create their own group in the course Moodle pages. To achieve this, (a) all study circle members must first visit the course Moodle page once, (b) mail your wish to greate a Moodle group to the lecturer (include group name and names of all students in the group), and (c) the lecturer creates the group. You will have some group tools in your own group, like a wiki and discussion groups. If you need more tools, let me know.

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