Welcome to ELEC1601 Computer Systems. In this document you will find a description of how the course is organized, the objectives, how the sessions will be conducted and assessment policy.
The activities in the course are all designed as if they were set in the following scenario. You are part of a department in a company that is considering the use of digital systems such as Arduino as their next strategic step. The company is thinking about moving into that space, but before doing so, they need to know in detail the technology, its potential, how feasible is to program, and possible applications.
The task for you and your team is to explore this possibility. You need to understand how digital systems work, the architecture of Arduino, its machine language, how to program it, how to connect other devices and sensors, how to read and write data from those sensors, become proficient with the tools to carry these tasks, and tests all of them in a practical project.
At the end of the semester you have to be able to explain to the company the possibilities of these systems and propose possible future applications.
Learning objectives and milestones¶
Although the main objective of the course is to demonstrate how to program and communicate with a digital system, there are some other objectives that we will cover along the way. More formally, at the end of the semester you will be able to:
- demonstrate that you understand how computers work, from the digital logic level to how they execute basic programs,
- design, build, configure, program and test an electronic system for a specific engineering problem observing common professional practice,
- write reports about the design process and its results, and
- engage in team-based design and creative tasks to solve an engineering problem.
You can read a more detailed description of these skills and abilities in the online unit description.
We will achieve the previous objectives by learning about the following:
- How computers encode all information they manipulate in binary logic.
- How digital circuits are created to manipulate information encoded in binary format.
- Which instructions are executed by computers and the steps required for that execution.
- How to write programs in machine language (assembly).
- How to design and configure a computer system (Arduino) using a high level programming language.
All the course material will be available in electronic format. There are three resources for the course:
- a community in Blackboard,
- a discussion forum (hosted in a platform called Piazza),
- and the course notes (hosted in a different platform).
Make sure you become familiar with its structure, how to access them (go to lecture preparation material, tutorial activities, lab tasks, etc.), and keep those URLs handy.
The course page in Blackboard shows the weekly schedule and links to the rest of the resources. Every week you will find there a link to the tasks for each of the sessions (lecture, lab and tutorial) together with a summary of what you have to do, and know by the end of the week.
Discussion forum (Piazza)¶
Very important resource! We would like you to participate in that forum by posting any questions you may have related to the course or answering questions from your classmates. The forum is designed so that you can get help fast and efficiently from either classmates or the instructors. Rather than emailing questions to the teaching staff, post them in this forum.
When posting, please take into account the following five rules:
- Search before you post. Your question might have been asked already!
- Choose an informative title for your post.
- Be brief, spell check, and proof read.
- No need to use capital letters nor emoticons.
- Be courteous!
The forum offers instructors the possibility to label content as inappropriate.
This application can be very powerful to help you interact with your students even in real time during a session. You may ask them to use their browser to post documents, proposals or answers in a special post. Be careful though because right now the forum is used for the entire class.
Contain all the material covered in the course in HTML with special multimedia components such as videos and embedded questions. All pages in the notes contain links in the upper left area to access Blackboard, the discussion forum, weekly activities, and the list of topics covered in the course.
These notes are placed in a platform that is not fully integrated with Blackboard, and requires you to authenticate again with your University credentials. You may also access the course notes directly with the abbreviated URL bit.ly/elec1601. We recommend that you keep this URL handy to access the material quickly.
Each week (except the first one) you will have a two hour lecture, a two hour tutorial, and a three hour laboratory. Come to every session with the serious intend of making progress in your objective to understand how digital systems work and how are they programmed, ask whatever question right there during the session. If you wait until you go over your notes after the session, it may not happen or it may be too late.
We expect that you will:
- attend all scheduled lectures, tutorials and laboratories,
- participate diligently in the activities,
- dedicate twelve hours of work per week to this unit (this includes attending the lab, tutorial and lecture),
- prepare the activities before the sessions, and
- be able to work independently and make effective use of all the given resources.
Lectures: Prepare and Participate¶
Each lecture will have a set of activities for you to do before getting to the lecture theater. One of these activities is a sequence multiple choice questions. The score of that sequence will count 1 mark towards your lecture preparation and participation score as part of the Course Assessment. There will be a total of ten lecture preparation scores.
Lectures will start 5 minutes past the hour and finish 5 minutes before the hour so that you have time to transition between sessions. At the lecture theater we will do some activities in groups of three people, so sit in a place such that groups of three can be created without leaving anybody out. These group activities are typically short, so you won’t have time to search for partners once the lecture starts. Your active participation in these sessions is fundamental to make the unit a success.
The following figure shows a possible strategy to adopt to extract the maximum out of the lectures. It assumes a 2 hour period to work on the activities to prepare the lecture that is done at least two days in advance:
Lectures will be recorded, however, do not rely only on these recordings as they only capture the lecturer’s microphone and screen and there will be additional activities happening that will not be captured. Additionally, there are always anomalies difficult to anticipate and may affect the quality of the recording.
During the lecture in week 6, there will be a multiple choice midterm exam worth 20 marks of the Course Assessment. The exam will cover any material of any section fo the course up to, and including, Week 6.
The final exam will consists of 20 multiple choice questions (1 mark each) and four open questions (5 marks each) about any material covered in any of the sections of the course.
Tutorials: Prepare and Participate in Teams¶
Tutorials will also contain a set of activities to do before the session. As in the case of the lectures, one of them will be a sequence of multiple choice questions. The score of that sequence, and your participation in the session will count 1 mark towards your tutorial preparation and participation score as part of the Course Assessment. The tutors will assess your participation at the end of the session by verifying that you:
- show up on time and
- make a serious attempt to solve the proposed activities.
There will be a total of 10 tutorial preparation and participation scores.
Tutorials will require you to solve exercises related to the topics covered in the previous lecture. These sessions is where most of your learning will occur. It is the place for you to find those concepts that are not clear, make sure you understand the underpinning material and gain a sense of reliability when solving exercises.
Tutors attending the tutorial must make sure that you:
- Get the name of the people attending the tutorial.
- Mark those teams that are engaged in the activities. You may assign a 0/1 score to each student.
- Make sure you keep your scores up to date in an sheet that is shared with the unit coordinator.
Laboratories: Hands on experience in teams¶
Laboratories are where most of the practice with the Arduino board will be carried out. The activities must be done in teams of four members. Make sure you pick the best team members as the teams must remain the same throughout the semester. Your work in these sessions will be assessed in two blocks.
Block 1: Weeks 2-6: During these weeks the laboratory sessions will be divided into two periods of approximately the same size. In the first period you will work on several pre-defined activities programming the Arduino board with certain sensors and actuators.
The second half is the design part. In it you have to design a novel application using those sensors and actuators and create a prototype. The type of design is open for you to create and implement in the time allotted. At the end of the session the tutors will choose the prototype of the session.
Each week one member of the team needs to submit a written report about the activities of the session. The report will count 5 marks towards the overall Course Assessment. The report is due before the beginning of the lab session the following week.
The following week shows the structure and expected workload for these lab sessions:
Block 2: Weeks 7-13: During these weeks you will work on the final project. The detailed description of what to do will be published shortly before Week 7. The work must be done in teams of four members.
In the last laboratory session, in week 13, you must share your project results with the rest of the class by:
- a project presentation which count 3 marks of the overall Course Assessment,
- a demonstration of your project which counts 4 marks of the overall Course Assessment.
Additionally, your team needs to submit a project report written by all members one week after the last laboratory session. You need to include explicitly the contribution of each of the team members to this document. The report will count 8 marks of the overall Course Assessment.
The project is based on controlling a robot (boe-bot) with an Arduino board and sending information remotely using a communication device. Beware that if you damage a robot, you will have to pay for a replacement.
This is a team project so make sure you choose carefully your team members. All team members must attend the laboratories in the same group. Group assignments are final, no team member swaps will be allowed.
The objective of the project is for you to experiment create a new idea on how to use a computer system to control a robot. The teams with the best projects will become part of the famous ELEC1601 Hall of Fame.
About the Design Activities¶
The design activities in the first lab sessions are for you to embrace what is known as active learning or learning by doing. The activities will be open for you to create something new using the sensors and actuators you are familiar with. You need to get comfortable facing a problem of which you don’t know the solution right away, try multiple strategies and ideas, see if they get you closer to a solution you like, once you find the idea keep asking yourself how to polish or enhance it, and share these steps with the rest of the class.
The design sessions will require you to be prepared, participate, and explore your creative self. There is a famous quote known as Rule 6 (Sister Corita Kent) that may help you get used to this way of working:
The activities in this course require you to have good time management skills. We meet three times a week, each session requires prior work, and some of them work after the session. We recommend that you consider a total load of 12 hours per week to devote to the course. The following figure summarizes the recommended strategy to prepare all the sessions:
You should focus on preparing the sessions. Lectures and tutorials require work on some activities and answer the sequence of questions from which the participation score is derived. We suggest to do these activities well in advance and use the course forum to get help. The laboratory sessions also require preparation with your team. We suggest that you read the material for the session and schedule a team meeting to make sure the session is productive and there is significant progress towards the objective.
The 100 marks of your final score are distributed as follows:
|Lecture Preparation||Prepare lecture activities and multiple-choice problem sequence||Individual||1 mark per week. Weeks 2-5 and 7-12||10|
|Mid-term exam (Week 6)||Multiple choice questions||Individual||20||20|
|Tutorial Preparation and Participation||Prepare with multiple-choice problem sequence and participate||Individual||1 mark per week. Weeks 3-9 and 11-13||10|
|Lab report Weeks 3-6. One per member||Report document about one lab session||Individual||5||5|
|Final exam||Multiple choice and questions||Individual||40||40|