Unsyllabus
Contents
Unsyllabus#
Important Details#
Name |
Description |
---|---|
Course |
COSC 123 |
Term |
2021 Winter Term 2 |
Instructor |
Dr. Firas Moosvi (he/his/him) |
Lectures |
Tuesday, Thursday from 11:00 AM - 12:30 PM: Lectures Online via Zoom |
Mode of Delivery |
Lectures will be online in this course all semester. Labs will be online until at least January 24th, 2022. Final Exam details TBD. |
Student Hours |
To get live 1 on 1 help in the course, use Zoom at various times (see below for schedule). |
Canvas URL |
|
Course Discussion |
To ask any course-related questions, use private (personal, not useful for anyone else) or public (helpful for other) messages on Ed Discussion |
Warning
If there is a lab and/or tutorial listed on the SSC for this course, You must register for all course elements without conflicts, otherwise the department will remove you from the course!
What do I need to purchase for this course?#
Being very conscious of the high tuition and technology costs, we have made efforts to remove the additional cost of taking this course. All course content, references, and resources provided in this course are free and open source, and can be considered open educational resources (OER).
Contact Us#
Team Member |
Pronounce as |
Contact |
Student Hour |
---|---|---|---|
Dr. Firas Moosvi (he/his/him); Instructor |
Contact via Ed Discussion |
||
Yohen |
Contact via Ed Discussion |
||
Luis |
Contact via Ed Discussion |
||
Muizz |
Contact via Ed Discussion |
||
Danielle |
Contact via Ed Discussion |
||
Poddar |
Contact via Ed Discussion |
Evaluation#
The grading scheme for this course is:
Item |
Weight |
Due date(s) |
---|---|---|
Learning Logs |
10% (10 x 1%) |
Saturdays at 6 PM |
Class Activities |
15% (10 x 1.5%) |
Thursdays at 6 PM |
Labs |
30% (10 x 3%) |
Fridays at 6 PM |
Tests |
25% (5 x 5%) |
Thursday 6 PM - Saturday 6PM |
Final Exam (TBD) |
20% |
TBD |
There will be 5 tests in this course in an (approximately) bi-weekly schedule. For each of the tests, there will be a bonus test one week later and the better score of the Test-Bonus Test pair will be taken.
Note
Important: The maximum mark you can get on each item is 100%. Any available bonus marks are not transferable to other assignments.
Other Grading Policies#
There is a delicate balance between an instructor being flexible with deadlines, and giving students (particularly in introductory courses) too much freedom, to the detriment of your learning and your work habits.
No late penalties for late submissions of Class Activities and Labs#
It is important to build a rhythm as you go through undergraduate courses (particularly mine) and to do that, there is a fixed schedule that must be followed. Of course, deviation from the ideal schedule happens frequently in a term when students are taking other courses as well. That’s why I have built in some “pressure releases” in this course so you have another way to manage the workload of the term. Over the years, I have tried to strike a good balance in this course with my policies but I’d like to experiment with a few tweaks this year.
Attention
For only the Labs and Class Activities, deadlines are only suggestions to ensure you stay on track with the material. In general, there will be no late marks taken off for late submissions and regardless of the level you earn, you have unlimited opportunities to resubmit your work (see below for details).
That being said, I suggest not relying on this too much because it will set you back and if you fall too far behind, there’s a danger of running out of time to catch up.
Note
Note: Assignments cannot be accepted beyond the last day of classes. This is non-negotiable!
Specifications-Grading#
Many of you are familiar with the “Traditional Grading” model many courses use. Briefly, this model involves earning (or losing) points on individual assessments throughout the course, and then a grade calculated by doing a “weighted-average” throughout the term.
You may be surprised to learn that this is not the only way classes can be structured, and there are alternative models that research has shown to be far better for learning, motivation, attitudes, and long-term benefit. If you’re interested in learning more details about the last sentence (and if it surprises you), I encourage you to check out this very accessible paper from Drs. Schinske and Tanner [2014].
I am not quite ready to fully move away from Traditional Grading yet (mostly because of a lack of resources, otherwise I’m totally all-in!) but I’d like to experiment with a modified version of Specifications-Grading this term. Here are some key features of Specifications Grading:
Each assignment is accompanied with a clear list of “specifications” of what constitutes acceptable work at each level.
Assignments are marked based on whether students have met each of the specifications for that assignment.
Students are given opportunities to revise their work to demonstrate their learning.
For only the Labs and Class Activity assignments this term, Fig. 1 shows a handy guide to help you understand this grading system:
Fig. 1 This table describes how I think each course activity should be classified between knowledge transfer and sense-making.#
I prefer not to associate percentages or grades to the levels (I personally feel that this hampers your learning and poisons motivation and creativity), but I know that it will take us some time to eliminate grades completely. If you must think of things in terms of numbers and percentages, you can expand the box below to see my best guess of what each level translates into.
Resist the temptation to click this button!
Some hidden toggle content!
The E level is about 100%.
The G level is about 85%.
The R level is < 50%.
The I level does not have a number associated because it was not graded.
Resubmission Policy#
For only the Labs and Class Activity assignments this term, you will be able to resubmit as many times as you like after you receive feedback. Each time you do a resubmission, you will first need to reflect on your initial submission, and discuss how you corrected your work after receiving feedback from the TAs.
Your resubmission request can be submitted on Ed Discussion.
There is no limit to the number of resubmissions you are allowed to use, but we reserve the right to decline your resubmission if your reflection is not up to our specifications.
Note
Note: The last day to submit resubmissions is the last day of the course. No exceptions!
Passing requirements#
All students must satisfy ALL conditions to pass the course:
Obtain an average grade of at least 50% on the Labs,
Obtain an average grade of at least 50% on the Test and Exam components together,
Obtain an average grade of at least 40% on the Final Exam,
Obtain a grade of at least 50% on the whole course.
If students do not satisfy the appropriate requirements, the student will be assigned the lower of their earned course grade or, a maximum overall grade of 45% in the course.
Schedule#
This is the tentative plan for COSC 123 this term. The exact details are subject to change, so this is roughly the plan we will try to follow.
# |
Week |
Topics |
Lab |
Activity |
Logs |
Tests |
Concepts Tested |
---|---|---|---|---|---|---|---|
1 |
Jan 10 - 16 |
Introduction to COSC 123 |
1 |
1 |
1 |
- |
|
2 |
Jan 17 - 23 |
Introduction to Terminal |
2 |
2 |
2 |
Test 0 |
Course Policies |
3 |
Jan 24 - 30 |
Introduction to Processing and PDE |
3 |
3 |
3 |
Test 1 |
Command-line, |
4 |
Jan 31 - Feb 6 |
Interactions |
4 |
4 |
4 |
(Bonus Test 1) |
|
5 |
Feb 7 - 13 |
Variables |
5 |
5 |
5 |
Test 2 |
Processing, |
6 |
Feb 14 - 20 |
Images |
6 |
6 |
6 |
(Bonus Test 2) |
|
7 |
Feb 21 - 27 |
Reading Week (no new material) |
- |
- |
- |
- |
|
8 |
Feb 28 - Mar 6 |
Conditionals |
8 |
8 |
8 |
- |
|
9 |
Mar 7 - 13 |
Loops |
9 |
9 |
9 |
Test 3 |
Variables, Images, |
10 |
Mar 14 - 20 |
Functions |
10 |
10 |
10 |
(Bonus Test 3) |
|
11 |
Mar 21 - 27 |
Object Oriented Programming |
11 |
11 |
11 |
Test 4 |
Conditionals, Loops, |
12 |
Mar 28 - Apr 3 |
Catch-up week (no new material) |
- |
- |
- |
(Bonus Test 4) |
|
13 |
Apr 4 - 10 |
Arrays (Recorded lecture) & Final Exam Prep |
13 |
13 |
13 |
Test 5 AND Bonus Test 5 |
Everything + Object Oriented |
Note
Note that the schedule is subject to change and adjustments depending on the needs of the class, and other pedagogical or logistical restrictions.
Getting Help#
The best way to get personalized help in this course is to attend the “Student Hours” we have scheduled for this course. They are all done on Zoom and this is time that the instructor and TAs have set aside to help YOU personally, 1 on 1! I understand it might feel intimidating to come to Student Hours, but we don’t bite! We would love to hear about you, what your interests are, and if you have any career advice. If nobody comes to the Student Hours, we end up sitting in a Zoom room all by ourselves, all alone, and sad.
A few other notes:
We will be using Ed Discussion for Announcements in this course.
For all course-related questions you can reach out to the teaching team including instructors and TAs via Ed Discussion.
You are encouraged to post questions publicly whenever possible so others can benefit. For private and personal issues, you can send private messages on Ed Discussion.
Any student may visit the student hour for any member of the teaching team (TA or instructor)! In other words, you can go to the student hour of ANY TA, not just the one whose lab/tutorial you are registered in.
A message from your instructor#
Will add a video message here soon.
Closer to the start of the term, I will update the video below with an actual message to the students :-). Until then, enjoy being Rick-Rolled.
Why should I take COSC 123?#
You should take this course to see how art and coding can come together to produce wondrous creations. Our ultimate goal is to give you a more fun introduction to programming by allowing you to express your creativity. You will learn programming basics such as decisions, iteration, objects, methods, and classes through the Processing language. You will also explore events, graphics, animation, 2D gaming, and file manipulation while practising programming concepts. By completing this course, I hope you will understand programming fundamentals, have created interesting and fun programs and animations, and have the ability to continue in following computer science courses.
Tip
I hope by taking this course your creative juices start flowing and you can see the role that coding can play in the Arts.
Syllabus vs. Unsyllabus#
Why is there a Syllabus and an Unsyllabus for this course?
Traditionally, there has been a culture at most higher education institutions for every course to have a document that sets expectation for how the course will be conducted, what students will be expected to do, and what they will learn in the course. The purpose of that document was for the instructor to communicate “what the course will be about” to students so they know what they’re getting themselves into. This document is typically called a “Syllabus” or a “Course Outline”. Over the years however, this document has morphed into something like a contract - a “terms of service” that students implicitly agree to by registering for the class.
This makes me somewhat uncomfortable as an educator - I don’t want to legislate how you learn and what you need to do to learn. I also don’t want there to be an unchangeable legal document governing the interactions between an instructor and a student. What I do want is to give you suggestions and guidelines supported by my personal experience as well as the latest literature on teaching and learning.
That being said, perhaps there are some advantages to having some elements of a course codified in a “legal document” - the “Syllabus”. For instance, the instructor for the course, the calendar course entry, the term dates, the final exam period, the passing criteria, how to file a grievance or complaint, and your responsibilities to uphold UBC Okanagan’s commitment to equity, diversity, and inclusion. The items above are indeed permanent and unchanging, and deserve to be in the syllabus.
Other things, such as what you will learn, how and when you will do it are more flexible and fluid. For that, we have this unsyllabus.
What is the Unsyllabus?#
In contrast to the syllabus, the unsyllabus is not a legal document. Instead, it is a living document that serves students and adjusts to their needs and feedback. Dr. John Warmer describes this best in his article, “A syllabus is not a contract”:
… this [un]syllabus is not a contract, it is a living document which reflects the experiences, emotions, philosophies, and goals I bring to a particular course.
and also:
An [un]syllabus as a plan is a lot like an itinerary before a trip. There’s some definite highlights we need to hit, but if something that seems cool and worth doing crops up unexpectedly, we need to seize that opportunity in the moment. If something really bad happens (the equivalent of a norovirus breakout on a cruise ship) we may need to abandon something previously scheduled entirely.
Summary#
Having an adaptive syllabus is important to me as it allows me to be responsive to your feedback in a meaningful way. I invite you to be co-contributors to this unsyllabus, and use the tools provided to add your own annotations, questions, and suggestions on making this syllabus work for you. At various points in the term, I will invite you to provide feedback on how things are going in the class. You may use those opportunities (or any other using the anonymous feedback form or Ed Discussion) to propose adjustments to how the class is running for consideration.
Document |
Status |
---|---|
Syllabus |
University-mandated, like a legal contract and contains university rules about conduct and behaviour; elements will not change. |
Unsyllabus |
Living document, responsive to student feedback and adaptable to circumstances; elements may change, usually to the benefit of students and of learning. |
Important
Please note that I have your best interests in mind, and it is highly unlikely that I will ever change the unsyllabus in a way that negatively affects the class, or even individual students. If you believe a change is affecting you negatively, please reach out to me on Ed Discussion, or submit your feedback using the anonymous feedback form.
Unsyllabus changes#
In this section, I will outline any changes that have been made to the unsyllabus as we go through the course. We will do our best to follow the plan outlined in this unsyllabus, but in case things go south, I will need to make adjustments to the contents and the schedule.
Any major changes to the syllabus (this page) will be documented here, as well as the date the change was made.
Change Date |
Summary |
Rationale |
---|---|---|
March 11, 2022 |
Adjusted Content for Weeks 12, 13, 14 |
April 10th is the last day of classes and since that’s a Monday and our classes are usually on Thursday, that means our class will be in Week 13 of the course. |
Course Tools#
There is no cost to the student for any of the tools used in this course.
Required Tools#
In this course, we will be using the following required learning technologies (privacy policies linked):
PrairieLearn (Privacy policy not available yet)
All tools used in the course will be used in a FIPPA-compliant manner, with your privacy top of mind. New tools may be added to the course as the need arises, and I will update this section with the appropriate information and make an announcement if a new tool is added midway through a course.
Warning
Even though the tools above are required for this course, if you have a moral or legal objection to my use of these tools, please do reach out to me and we can likely find an acceptable accommodation.
Link your Canvas account to Gradescope#
You should then be guided through a series of steps to create an account, set a password, and link it to our course.
On the left sidebar in Canvas, click on Gradescope.
This is very important for you to do as it’ll be our primary mechanism for delivering you feedback in this course.
Sign up for a (free) Ed Discussion account [Required]#
In this course, we will be using Ed Discussion for class discussions. The system is highly catered to getting you help fast and efficiently from classmates, the TA, and myself.
Once you click on Gradescope, within about 12 hours, you will receive an invitation to join Ed Discussion using the email you used for Gradescope.
Tip
In general, please do NOT email questions to the instructor and TAs unless it is a legitimate emergency (or if you cannot access Ed Discussion). If you do this accidentally, it’s okay - we will send you an automated response letting you know that emails will not be answered and you should re-post your question on Ed Discussion.
Warning
The Ed Discussion tool is stored on servers outside Canada. When you access this site by clicking on the link through Canvas, you are being transferred to these servers. In order to protect your identity, UBC obfuscates your user ID before it is sent to the site. However, Ed Discussion does require you to create an account on their servers. While Ed Discussion adheres to strict U.S. privacy regulations (FERPA), UBC cannot guarantee security of your private details on servers outside of Canada. Please exercise caution whenever using personal information. You may wish to use a pseudonym to protect your privacy if you have concerns.
What type of information will I collect about you in this course?#
Having taught DSCI 541: Privacy, Ethics, and Security in the UBC Master of Data Science in the past, I am very aware of the surveillance culture that has permeated our society and heralded the End of Privacy as we know it. That being said, as an instructor, I care tremendously about your learning and the course-related data that is collected about you is extremely valuable. Broadly speaking, this relatively new field is called Learning Analytics. Learning Analytics involves the collection and analysis of data about learners for the express purpose of improving their learning by optimizing teaching and learning practices.
All of the tools above log data about your activity that can be used to improve the quality of teaching and learning. In this course, I intend to use this information to:
view overall class progress (in aggregate),
track your personal progress in order to provide you with personalized feedback,
track participation in discussion forums
improve the course and your learning,
explore students actions in the course,
provide you feedback on your progress.
Unfortunately, at the moment it is not possible to opt-out of the data collection process, but if you like, you may opt-out of the process where I use the data to give you personalized feedback. To opt-out, please complete this form at any point in the course. You may opt-out with my full support, I respect your decision and applaud you for your netizenship!
Teaching Philosophy#
For a detailed description of my teaching philosophy and values (including a list of references and citations), you can read it here. Here are the key principles I intend to apply in this class:
Student learning is vastly improved through active learning
Learning technologies must be leveraged to scale instructor effort across multiple classes.
Inter-disciplinarity is the future of education.
Effective teaching is inclusive teaching.
How will this course be taught ?#
This course will be taught as a Blended Learning classroom where some elements of a flipped classroom will be mixed with a more traditional coding classroom with live demos, clicker questions, and worksheets. Briefly, this requires students to watch videos and engage with the assigned reading prior to the classroom meeting (knowledge transfer). During the class meeting, the instructor guides students through clicker questions, worksheet problems, and other activities to help the students make sense of the material (sense-making). See Fig. 2 for a mental model of how learning works [Ambrose et al., 2010].

Fig. 2 To develop mastery in a concept, students must first acquire the necessary skills, then practice integrating them, and finally know when to apply what they have learned. This figure was adapted from Figure 4.1 of the book “How Learning Works”. The terms “knowledge transfer” and “sense-making” applied in this context is generally attributed to Dr. Eric Mazur.#
What does this mean in practical terms?#
Fig. 3 shows a handy table to help guide you and organize your learning in this course:

Fig. 3 This table describes how I think each course activity should be classified between knowledge transfer and sense-making.#
Academic Integrity#
How do I go through this course with integrity?#
I want to be proud of your work in this course, and I want YOU to be proud of yourself as well! That cannot happen if you make unethical decisions, including (but not limited) to cheating or plagiarism. According to the scientific literature, the most common reasons students cheat are:
Fear of failure and life consequences
Peer pressure, including an inability to say no to help others cheat
Perceived societal acceptance of cheating (Lance Armstrong, Barry Bonds, Enron, Wall Street & the The Big Short)
Desire for success without the time/desire to put in the work needed
Strict deadlines and due-dates
Requirement from instructors to memorize facts, figures, equations, etc…
High-stakes exams with no recompense for “having a bad day”
Peers cheating with no consequences or penalties
Unclear expectations on what constitutes academic dishonesty
Inadequate support from instructor and teaching team
Though I sympathize with students and the stresses of your busy lives - in my opinion, there is no good reason to cheat. I have tried extremely hard to make this course focused on learning rather than grading, and where grading is needed, to have policies that are as student-friendly as possible. In particular, I hope (and expect) that the following features of the course should eliminate your temptation to cheat or plagiarize:
48 hour grace-period on all due dates and deadlines.
Long testing window so you can start the tests whenever you’re comfortable.
Weekly learning logs, homework and reading reflections to make you think about your learning (metacognition).
Each test has a “bonus test” available one week later; for each test, we will take the better score of the pair.
No high-stakes exams (the single largest assessment item is the final exam).
All course assessments are completely open book, open notes, and open web (except for cheating websites like Chegg, CourseHero, Slader, Bartleby, etc…)
Plenty of TA and instructor student hours and several outside of normal business hours.
Class website that outlines exactly what you should do when to help you manage your time.
Tonnes of supplemental materials including other instructional videos in case you want a different perspective.
Weekly prompt to accept the integrity pledge to keep you accountable.
A true willingness from the instructor (me) to help you learn and succeed in this course!
With these features, and several other little things, I sincerely hope that you will consider completing this course with maximum integrity so that you never have to feel guilty, ashamed, or disappointed in yourself and your actions!
A more detailed description of academic integrity, including the University’s policies and procedures, may be found in the Academic Calendar.
What is considered academic dishonesty in this course?#
To make it even easier for you to decide what isn’t allowed, below is a list of things that I definitely consider to be academic dishonesty:
Asking others for their work in the course (whether question by question, or all at once)
Sending others your work in the course
Doing tests collaboratively (tests must be done by yourself and alone)
Sending others your test questions and/or answers
Sharing any course material onto Chegg, Course Hero, Slader, or other similar sites
Searching for solutions to course material on Chegg, Course Hero, Slader, or other similar sites
Blindly googling the question in hopes of finding someone who had a similar question and then copying their answer
Note, googling to find resources to understand specific concepts or general ideas is highly encouraged!
Having a tutor/friend/nemesis complete and submit your work for you
Copying and pasting code, equations, text explanations, prose, etc… without attribution
Manipulating the learning platforms we use to reverse engineer the randomization algorithms, hacking the timer functionality, or other similar technical malfeasance.
Course Accommodations#
What if I miss labs, tests, or the exam due to an illness, health, or other personal situations?#
Normally, most deadlines in this course have a generous grace period. If you require an extension beyond the grace period, please contact the instructor on Ed Discussion (ideally before the deadline passes) to discuss your options.
Students who, because of unforeseen events, are absent during the term and are unable to complete tests or other graded work, should normally discuss with their instructors how they can make up for missed work. If ill health is an issue, students are encouraged to seek attention from a health professional. Campus Health and Counselling will normally provide documentation only to students who have been seen previously at these offices for treatment or counselling specific to conditions associated with their academic difficulties.
Tip
If you miss a course component due to an illness, health, or other personal situation, please reach out to me as soon as you are comfortable, and I’ll work with you to get you back on track.
What if I have dependents that rely on me for care and unpredictable emergencies may arise?#
Let’s talk, send me a private message and we can discuss it. I do not necessarily need to know all the personal details, just a high-level summary of your situation and what you think an ideal solution would be.
I’m sure we will come to some agreement, generally the earlier you let me know of any special circumstances or accommodation, the more I’ll be able to do for you!
What if I have to miss a deadline because of a wedding, birthday, funeral, religious holiday, or personal event ?#
No problem! There’s not even any need to tell me, or ask for permission to miss deadlines. The course is designed to give you maximum flexibility:
Every deadline has a 48 hour grace period that is automatically applied.
There is no late penalty if you use the grace period
You can use the grace period an unlimited amount of time in the course (though if it happens every week and for every assignment, I might check in with you and gently encourage you not to leave things to the last minute)
Tip
Remember, if you miss a Test for whatever reason, you can make it up the following week in the bonus test!
If you miss a deadline by more than the grace period, the general course policy is that you will not be able to get full credit for it, and in many cases, may even get a 0 for it. In the cases of Tests, it is not possible to get partial credit, or complete it at times other than within the scheduled windows. In some cases, I reserve the right to grant an extension or make alternate accommodations as needed.
What should I do if I need accommodations to be successful in this course?#
Accommodations are intended to remove barriers experienced by individuals with disabilities. As a matter of principle, UBC is committed to promoting human rights, equity and diversity, and it also has a legal duty under the BC Human Rights Code to make its goods and services available in a manner that does not discriminate. Policy 73 (Accommodation for Students with Disabilities) sets out principles and processes governing the accommodation of students with disabilities.
All accommodations for this course are handled through the Disability Resource Centre and I encourage you to contact them to book an appointment.
Compassion#
As I’m sure you’re aware, there is (still) a global pandemic happening right now and we could all use some extra compassion and humanity. If you’re going through something that is affecting you (course or otherwise), you are always welcome to come and talk to me about it. If I am not able to help you myself, then I can probably direct you to the right person or resource. If you need extra help, or extra time to deal with something you’re going through, just ask. You will never owe me an explanation about your physical health, mental health, or those of your family members, friends, etc… I will believe you, and I will trust you. I will not judge you, nor think any less of you. I will do everything in my power to work out something that is both reasonable and fair. This, I promise!
What should I think about if I’m considering withdrawing from the course?#
First of all, I’m sorry you’re having trouble and are considering withdrawing from the course! This is no problem, and I will not be personally offended or upset you need to do this, I encourage you to do what you feel is right for you and your situation. Below is some information that might be helpful for you in making the decision.
Warning
Please note that it is the student’s responsibility to check the withdrawal dates as listed in the UBC Calendar.
Withdrawal type |
Effect on Transcript |
Tuition refund |
---|---|---|
Before 11:59 PDT on January 21, 2022 |
None |
100% refund |
Before 11:59 PDT on March 18, 2022 |
W on transcript |
|
After March 18, 2022 ^ |
W on transcript |
^ Note: Withdrawal after this date cannot happen without approval from the Faculty (Email: fos.students.ubco@ubc.ca).
There are factors other than money and your transcript to consider as well, including your mental health, graduation requirements/timelines, eligibility for student loans, bursaries, scholarships etc. I advise you to read the full list of considerations here and consult with an Academic Advisor or your Program Advisor if you have additional questions.
Acknowledgements#
The syllabus was constructed and adapted from many other templates and examples. Below is the list of resources I have used to put this syllabus together:
Physics 117 (Instructor: Dr. Simon Bates)
Psychology 417A-951 (Instructor: Dr. Catherine Rawn)
References#
- 1
Jeffrey Schinske and Kimberly Tanner. Teaching more by grading less (or differently). CBE—Life Sciences Education, 13(2):159–166, 2014. PMID: 26086649. URL: https://doi.org/10.1187/cbe.cbe-14-03-0054, arXiv:https://doi.org/10.1187/cbe.cbe-14-03-0054, doi:10.1187/cbe.cbe-14-03-0054.
- 2
Susan A. Ambrose, Michael W. Bridges, Michele DiPietro, Marsha C. Lovett, and Marie K. Norman. How Learning Works: 7 Research-Based Principles for Smart Teaching. Jossey-Bass, San Francisco, CA, 2010. ISBN 978-0-470-48410-4.