Recitation Introduction - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Recitation Introduction

Description:

Version Control System (cvs, svn, git, mercurial... My recommendation: git or mercurial. Making the Grade: Tools that Make Your Life Easier ... – PowerPoint PPT presentation

Number of Views:58
Avg rating:3.0/5.0
Slides: 18
Provided by: csF2
Category:

less

Transcript and Presenter's Notes

Title: Recitation Introduction


1
Recitation Introduction
Alejandro CabreraOperating SystemsCOP4610 /
CGS5765
2
Today's Recitation
  • Syllabus Review
  • Tips for Making the
  • Grade in Operating Systems

3
Experience Survey
  • Please turn this in to me by
  • the end of recitation.
  • It will help make this a more
  • rewarding course, as I will
  • know better how to assist
  • you in course project work.

4
Projects Partners
  • Projects will be completed in pairs.
  • Choose a partner and send me an
  • email with the name and email
  • address of your partner.
  • You need only submit one project
  • per group.

5
Projects Deliverables
  • Source code (.cpp, .hpp files. )
  • README
  • Makefile
  • Project Report

6
Projects Grading
  • 70 coding, 30 documentation
  • Even if you can't get a project to compile, be
    sure to provide good documentation. You can still
    get 30 of the points!

7
Projects Error Policy
  • Document known errors/bugs.
  • There's a bigger penalty if I find an error in
    your program that you did not.
  • Document what you did not complete in a program,
    if a required feature is missing.
  • It'll be easier to grade.

8
Projects Slack Policy
  • Each student has three days to use to extend
    project deadlines.
  • Example A project is due Monday. You turn it in
    Wednesday. Two slack days are used, no penalty is
    incurred. On the next project, it's due on a
    Tuesday, you turn it in Wednesday- you're now out
    of slack days.
  • Once you're out of slack days, you lose 10 points
    per day a project is late.
  • A project that is more than three days late gets
    a 0.

9
Projects Kernel Work
  • The first two projects can be completed in
    user-space. This means that you can do them on
    linprog/program.
  • The remaining projects involve kernel
    modification. You'll need to either
  • Use the computers in LOV-016.
  • Install Linux the kernel on your computer.

10
Making the GradeA Note on Projects
  • Start projects when they're assigned.
  • They're often trickier than they look. Especially
    that synchronization project...
  • Ask questions early.
  • If you're asking questions, be it to yourself or
    to others, you're thinking about the project.
    This will make it easier to complete them
    correctly and on time.
  • Write small programs to test your program or C
    language features you don't understand.
  • What does execv(ls, -l) do?

11
Making the Grade Tools that Make Your Life
Easier
  • Debugger Look into ddd, gdb.
  • What to look for in a code editor
  • Minimum syntax highlighting
  • Auto-formatting
  • Multiple buffers/tabs to view multiple files
  • Environment integration
  • Compatible with Mac OS X/Windows/Linux
  • Develop anywhere you go!
  • My recommendation emacs

12
Making the Grade Tools that Make Your Life
Easier
  • Build system (make, scons, others...)
  • Tired of typing
  • gt gcc part1.c -c -Wall -Wstrict -g
  • gt gcc part2.c -c -Wall -Wstrict -g
  • gt gcc main.c part1.o part2.o -o main.x -Wall
  • gt ./main.x
  • ...to test your program?
  • Use Makefiles instead to let the build system
    handle all this for you. Assuming a well-formed
    Makefile, this is all it takes to do the above
  • gt make

13
Making the Grade Tools that Make Your Life
Easier
  • Version Control System (cvs, svn, git,
    mercurial...)
  • Save all the versions of your code conveniently.
  • Why version control? (for small projects)
  • I changed some code, added some code, then it
    broke. It all broke. I couldn't remember all I
    did so I just started over.
  • To avoid this, commit changes to your code every
    few steps using the VCS. You can revert to older
    versions at any time!
  • My recommendation git or mercurial

14
Making the Grade Tools that Make Your Life
Easier
  • Good coding style
  • You'll often have to go back to your program,
    read through your logic, and update it to fix
    errors.
  • This is MUCH easier if you incorporate good
    coding style and practices from the start of a
    project.
  • Compare

int check(char p) if(p NULL) return
true return false
int isNull(const char ptr) if(ptr NULL)
return TRUE return FALSE
15
Making the GradeA Note on Exams
  • Exams in this course are rarely multiple choice.
  • Expect four types of questions
  • Short programming questions related to projects.
  • Fill-in-the-blank.
  • Remember a process questions
  • Ex. What happens when you reboot the computer?
  • Open-ended, short essay questions asking you to
    apply something you learned in class to a new
    problem.

16
Making the GradeStudying for Exams
  • Understand previous projects well. Understand the
    code you used.
  • Memorization is okay. There's a lot to remember.
  • This is especially useful for remember a
    process-style questions.
  • Understanding is better. Ask yourself why
    something works the way it does and not some
    other way.

17
Any questions?
Write a Comment
User Comments (0)
About PowerShow.com