Computer Organization I, Spring 2011, Exercise 1

At the first meeting TUESDAY 18.1. at 12-14 in B222 students will be divided to study teams. The teams have weekly meetings and can solve the weekly exercises, titotrainer tasks, and special team tasks together during the course. The goal fo the teams is to make collaborative learning possible and give students practise is skills needed to work in teams in the future.

This weeks questions you need to try to solve on your own before the meeting. The issues of the question 4 are covered in web lecture 1, you may wish to see that. Access to web lectures requires account to the cs departments computers. If you do not have one yet, please send an email request to tktl-luvat@cs.helsinki.fi. Indicate both your AD account name and reason for the account. Please do not send password. You will get a reply mail about how to activate your new account.

The exercise session will last the whole two hours, we will use round table discussions between students are the method to checking and understanding the answers to the problems.

Problems:

  1. Course goal and learning methods
    1. What are the most important learning goals for this course? What is the most interesting for you?
    2. Which one(s) of the goals at the moments feels most difficult or unfamiliar?
    3. What are the learning methods used in this course?
    4. What learning modules are included in this course?
  2. How would you want to utilize the study circles in this course? For example,
    1. How to make others do the work for me?
    2. How to make others learn course topics, instead of me or in addition to me?
    3. How to learn the course material with some other student(s)?
    4. What type of schedule, meeting frequency, meeting times would be good for doing the team tasks?
    5. How could one achive the goal "learning together" in my study circle?

  3. What are the most significant differences between machine code and high level programming language
    1. When the user (e.g., game player) is considered?
    2. When the programmer (e.g., game programmer) is considered?
    3. When the computer system hardware is considered?
    4. When computer program execution time is considered?
  4. High level language vs. machine code. Assume that we have a program that is written with some high level language (C, Java, Pascal), and that it has been translated into machine code.
    1. What does the concept "program in execution" mean?
    2. In which physical/logical components (e.g., memory, bus, machine instruction, CPU register, disk drive, DVD-drive, USB-port, memory data area, memory code-area, data communication port, display driver port, etc.) can the data referenced in the program be located when the program is in execution?
    3. In which physical/logical components of the computer can the data referenced in the program be located when one machine instruction is being executed? In what processor components can that data be located?
    4. How does the data type (e.g., integer, truth value, character string, array, record, file, picture) of the referenced data affect this location (b part)?
    5. Is some data location better the others? By what criteria and why?
    6. Who decides and when, which location is used for execution time data (e.g., value for variable X)?


Tiina.Niklander@cs.helsinki.fi