Laboratórios de Computadores: Apresentação Computer Labs...

27
Laboratórios de Computadores: Apresentação Computer Labs: Introduction 2 o MIEIC Pedro F. Souto ([email protected]) September 20, 2015

Transcript of Laboratórios de Computadores: Apresentação Computer Labs...

Page 1: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Laboratórios de Computadores:Apresentação

Computer Labs: Introduction2o MIEIC

Pedro F. Souto ([email protected])

September 20, 2015

Page 2: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Staff

I Hélder Castro([email protected])I Mário Cordeiro([email protected])I Tiago Boldt([email protected])I Pedro Ferreira do Souto ([email protected])

Page 3: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Objectives

Upon successful completion of this class you shouldbe able to:

1. Program at the HW interface level of the mostcommon PC I/O Devices

2. Develop system-level programs3. Use software tools typical of large programming

projects

Page 4: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Prerequisites

I ProgramaçãoI You’ll program a lot, mostly in C

I Microprocessadores e Computadores PessoaisI but also in assemblyI ... for the IA-32 architecture

I Arquitectura de ComputadoresI If you have not completed any of the first two courses,

you should consider to drop LCOM

Page 5: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Syllabus

I/O devicesC programming with assemblyProgramming tools

Page 6: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

MethodLearn by doing

“I hear, I forget. I see, I remember. I do, I understand”Several short lab assignments

I Each focusing on one I/O deviceI Some of them take only one lab class, others take two

lab classesI Requiring a preparation of about 5 hours per lab class

(excluding classes)One integration project

I Must use at least 3 different I/O devicesI Must use interruptsI Should use both C and assemblyI Should require about 9 hours per week (during 5 weeks)

Note: Both lab assignments and project should be done ingroups of 2 students.

Page 7: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Last Year Changes Still in Place

What? There are no lab classes on the RTC or on the serialport (UART)

I However, we will still talk about them in the lecturesI Students wishing to get a grade of 16 or better, are

expected to use these devices anywayI Must use all other I/O devices

Why?I Have more lab classes for the other I/O devices

I Most of them now have 2 lab classesI Remove some pressure out of the graded lab

assignmentsExpected results (and fulfilled)

I Less cheatingI Higher passing rate

Page 8: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Work Load

I LCOM has 6 ECTS, i.e. about 160 hoursI Assuming 1 ECTS equal to 27 hours

I Check out the European Credit Transfer and AccumulationSystem (ECTS)

I If you share the load with your team-mate, this should notbe a problem.

Unit Hours/Week No. Weeks TotalLectures 2 13 26Labs. 3 12 36Prep. L0+L1 2 5 10Prep L2-L5 8 5 40Proj. 5 9 45Slack 5Total 162

Page 9: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Bibliography and Other Resources

I PC HW is well documented on several books and onlineresources

I Book mentioned in SIFEUPMazidi, Muhammad, The 80x86 IBM PC andCompatible Computers: Assembly Language,Design and Interfacing, 4th Ed., Prentice-Hal

Note that it does not cover all the subjects, and that, on theother hand, it has a lot more material than needed for thisclass.

Page 10: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Grading (1/2)1. Four lab assignments are graded.

I You must submit your code via SVN at the end of the lastclass of every lab;

I Grading will be done off-line on code retrieved from theSVN repository

2. We will also grade your participation in the class, i.e.whether you have prepared the lab, whether youparticipate actively and your contribution to the work ofyour team

3. The final project must be demonstrated in January (from6th to 8th)

Formula∑

ci ∗ 0.15 + 0.45 FP + 0.1 CP

where ci is the grade of 3 graded-labs (out of 4) of your choiceBUT for a final grade of 19 or 20,you must "choose" the mouse lab

I.e., we’ll use the best 3 grades of the 4 graded labassignments, except for final grades higher than 18.

Page 11: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Grading (2/2)I All grades are individual

I Even though labs and projects should be done in groupsI Lab/project grades are normalized for groups of 2I The grade of each group member is obtained by applying a

factor to the group’s gradeI The factor depends on the member’s

contribution mostlyparticipation alsoto the final result

I We will use a piecewise linear function to determine thevalue of the factor

I Likely "breakpoints" are: (0,0), (0.33,0.8), (0.5,1), (0.8, 1.1)and (1, 1.1)

I Each member of the group must submit a file with its ownself-assessment (contribution and participation) with eachof the labs/projects submitted

I Failure to comply, results in a penalty of 10% in the grade

Page 12: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Final Project Grading (1/2)Execution: 40% + 10%

I 10% for demo in the last lab classCode: 20%

I Structure and ModularityI Documentation (use Doxygen)I Readability

I Nsames and commentsI Indentation

I Compilation warningsFinal Report: 20%

I Summary of what is and what is not implemented;I Usage instructions (with images)I Description of the program’s architectureI Relevant aspects about the implementationI Function call diagram

Tools: 5% (SVN) (We expect you to commit to the SVNrepository at least once a week, and to log messages then)

Project Specification: 5%

Page 13: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Final Project Grading (2/2)

I To the grade obtained by applying the above criteria, we’ll apply:Difficulty Factor

I number and type of I/O devicesI features used of the I/O devicesI I/O techniques used (interrupt vs. polling)I use and extent of assembly programming

Originality FactorTeam Management Factor

I load share among group members

Marketing BonusI of 1 valor for the participation in the Semana Profissão

Engenheiro (SPE), sometime in March 2016I in recent years, we have selected about 3 projects per year

Page 14: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Final Project MilestonesProject proposal: Beginning of the 8th lab (week starting 16th

November)I Half to one page description of the functionalities

desired, of the devices used and their role in theprogram

I Must be rewritten in class, if the instructor does notaccept it

Project specification: Beginning of 9th lab classI Refinement of the proposal, identifying the modules to

implement, their functionality and API.I Should include planning of the projectI Must be rewritten in class, if the instructor does not

accept itFirst demo: At the last lab class of the semester.Project submission: January 4th, 14:00Project presentation: January: 6th to 8th

Page 15: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Project Examples

I Games (video, timer, keyboard and mouse)I Two user games (video, timer, keyboard and serial port)I Electronic calendar (video, keyboard, mouse, RTC and

timer)I Music composer/player (video, keyboard, mouse and timer)I Text editor (video, keyboard, mouse, timer and RTC)I Typing tutor (video, keyboard, mouse, timer)I File transfer between PCs (video, keyboard, serial port)I Chat between PCs (video, keyboard, serial port)I Video player (video, keyboard, mouse, timer and RTC)I Drawing/painting program (video, keyboard, mouse, timer,

RTC and serial port)

Page 16: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

TEs Grading

Labs 3 of the 4 graded labs, each with a weight of 15%I Presentation/discussion in the week of that lab class

I Student must get in touch with me ([email protected]) to arrange foran hour, at least 7 calendar days in advance

I Submission at the end of presentation/discussionProject Similar to that of the other students, but with a weight of 55%.

I Presentation/discussion of proposal and specification in thesame week as that of the other students

I Student must get in touch with me ([email protected]) to arrange fora date and hour, at least 7 calendar days in advance

I Submission by the same deadline as other studentsI Presentation/discussion in the same period as for other

students (in January 6th through 8th).IMPORTANT Students wishing to be assessed as TE’s must send me

([email protected]) email until the 25th of SeptemberI If I do not reply in 24 hours, please resend your email

Page 17: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Grading in “Época Especial”

Project Similar to that of the other students, but with a weight of100%

I Presentation/discussion of proposal and specificationI Student must get in touch with me ([email protected]) to arrange for

a date and hour, at least 7 days in advanceI Submission and presentation/discussion within 7 days of

approval of the specification

Page 18: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Academic IntegrityI The UP and we take this issue very seriously

I Check the Despacho do Reitor No 08/09/2011I We believe that the majority of you follow the rules

I You are allowed to discuss the labsI For each lab and for the project, there will be a discussion

forum on MoodleI However, all code submitted should be either:

I Developed by the group membersI Provided by me

I We will use tools to automatically detect common codeI All groups with common code will be penalizedI You may help your colleagues, but cannot not share code

The lab assignments are identical to those of last year, butthis is no excuse

I The penalty may range:From a zero in that lab and a penalty of “2 valores” in your

final grade;To failing the course (especially, in case of reincidence or

of the project)

Page 19: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Important Dates

LabsLab Week Topic CommentsLab 0 21-09 Redmine, SVN and shell Not gradedLab 1 28-09 Video (text) SVN submission checked (5%)Lab 2 05-10 Timer Two classesLab 3 19-10 Keyboard Two classesLab 4 09-11 Mouse One class, plus Semana da FEUPLab 5 16-11 Video (graphics) Two classes

ProjectWhat Week CommentsProposal 16-11 8th lab classSpecification 23-11 9th lab classFirst demo 14-12 Last lab classSubmission 4-01 @ 14:00Presentation 6, 7 and 8 January, 2015 Afternoon

I Three lab classes (but Tuesday section will have only two)

Page 20: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Lab SectionsRegistered S1 S2 S3 S4 S5/S7 S6/S816th Sept. @ 14:55 24 23 23 23 24 2517th Sept. @ 17:52 19 26 24 26 28 27

I I’ve instructed the secretariat not to accept any more registrations(or changes)

I At this point, I’ll handle them myselfI If you want:

I Either, to change to another lab sectionI Or, to register for the first time to a lab section

Then, please send me an email, with:I Your name, student id and email addressI Your current lab section (if any)I The lab sections of your choice (in order of preference)

I Don’t be silly: do not choose both S5 and S7, or both S6 and S8I Justification: Why do you want to change to/register in the section

until Tuesday, 22ndI Next week, students will be allowed to join only groups in

their sections

Page 21: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Acknowledgments

I Prof. António Miguel Pimenta Monteiro (who designed thecourse)

I Prof. João Cardoso (who perfected it)I The lab technicians:

I Rui Fernandes (from previous years)I Nuno Sousa (from previous years)

Page 22: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Thank You!

Page 23: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Questions?

Page 24: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Platform

MINIX 3Unix-like operating system that allows privileged userprocesses to:

I Access every memory addressI Access directly I/O devicesI Process interrupts

LinuxI MINIX 3 is installed in a VMware Player VM

I Can be used for development and testing

Page 25: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Software

I Eclipse with the Remote System Explorer pluginI GNU C compiler and assemblerI Other SW development tools

I makeI SVNI doxygenI arI diff/patch

Page 26: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Announcements

ClassesI Start 10 minutes after the hour, i.e. 11:10.I We’ll make a 5/10 minutes break around 12:00.

I As long as you do not abuseI Otherwise, we’ll skip the break, and hopefully finish before

13:00

LabsI Start next week, i.e. September 21

I All sections will have 12 lab classes, except those onTuesday, which will have only 11 lab classes

I May not be possible to make up for the Dec. 8th lab class:you may have to work as if it were not holidays

Page 27: Laboratórios de Computadores: Apresentação Computer Labs ...paginas.fe.up.pt/~pfs/aulas/lcom2015/at/1apres.pdf · 3.The final project must be demonstrated in January (from 6th

Advice

For Lecture Preparation

I Read the material before the lecture:I In each lecture before a lab assignment, I’ll present:

I The concepts and the information required to complete thatlab class

I Provide hints to address the key issues of the labI The lecture slides will be available since the day before at:

http://web.fe.up.pt/ pfs/aulas/lcom2015/I The lab handout will be also available at about the same

time via the same URLso that you can:

I Understand better the lectureI Participate more actively in the lectureI Get your questions answered before the lab class

I If I’m late and you cannot wait, check last year’s materialavailable at http://web.fe.up.pt/ pfs/aulas/lcom2014/