CMPSC 311 - Introduction to Systems Programming
CMPSC 311- Introduction to Systems Programming
Module: Exam Preparation
Professor Patrick McDanielFall 2014
CMPSC 311 - Introduction to Systems Programming Page
Exams • Q: Why do we give them?• A: To make you study the material.• Implication: if you understand what
the professor wants you to know (outcomes), then you know what will be on the test.
CMPSC 311 - Introduction to Systems Programming Page
311 Outcomes? • Terminology: abstractions, application space, …• Concepts: isolation, caching, …• Language primitives: addresses, strings, structs, …
• Interfaces: file I/O, memory management, …• Tools: compiler, debugger, linker, …• Skills: calculating address, coding with strings, …
CMPSC 311 - Introduction to Systems Programming Page
What do I ask in exams? • Terminological/definition questions (8 questions)‣ Asks: what are the terms and ideas (most regurgitate)?
‣ Form: short answer (1-2 sentences, sometime a single word)
‣ Weight: about 40%
CMPSC 311 - Introduction to Systems Programming Page
What do I ask in exams? • Conceptual synthesis (2 questions)‣ Asks: explain the course concepts and apply them?
‣ Form: long answer (1-2 paragraphs)
‣ Weight: about 20%
CMPSC 311 - Introduction to Systems Programming Page
What do I ask in exams? • Skills demonstration (4 questions)‣ Asks: show mastery of skills taught in class and assignments?
‣ Form: word problems
‣ Weight: about 40%
CMPSC 311 - Introduction to Systems Programming Page
How to study? • Focus energy on the slides and course assignments. • Book is there for additional information, there may be
a short question about content.
• You should be able to perform any skill taught in class.
CMPSC 311 - Introduction to Systems Programming Page
How to take? • Read the questions very carefully.• Answer what you know first.• Only try to figure out how to perform an unknown
skill after you have done everything else.
CMPSC 311 - Introduction to Systems Programming Page
Getting Meta … • Studying is the act of …‣ (a) preparing your mind to accept new information and
connections,
‣ (b) consuming the data
‣ (c) retaining it
• To be effective, you have to address these three things or you won’t do it well …
CMPSC 311 - Introduction to Systems Programming Page
Preparing your mind … • Our brains work best when fresh and free of
distractions … the implication being …‣ Study when your body is ready (morning or night)
‣ Study where you are comfortable (library, your favorite chair) and minimal distractions (soft music, no TV, ..)
‣ Study in bursts (procrastination is death), take breaks to sustain productivity (5 minutes tops)
CMPSC 311 - Introduction to Systems Programming Page
Consuming the data … • Out brains are really large pattern recognition
machines that crave structure … • How you organize the information you collect when
studying is critical‣ The list method
‣ The diagram method
‣ The sentence method
‣ The annotation method
‣ The highlighter method
• They vary in effectiveness-how well the material translates to a model in your head?
CMPSC 311 - Introduction to Systems Programming Page
Retaining the data … • The key to long term memory (and thus education) is
fostering connections and ensuring repetition• Committing to connections‣ This is where the output consuming part is … it should
reflect a lattice of ideas and connections (diagrams, ..)
‣ Study the connections between concepts …
‣ Memory degrades quickly (exponentially) …
• Repetition‣ Brains need repetition to garner mastery
‣ Procrastination/cramming prevents mastery
CMPSC 311 - Introduction to Systems Programming Page
How about some freebee questions?
CMPSC 311 - Introduction to Systems Programming Page
How about some freebee questions?