Synopsis
Some course goals: (1) Understand scientific methods, (2) Understand modeleling, (3) learrn now to utilze real world data using tools like Excel, and make conclusions of the data (4) Gather data from the web, (3) Learn how to analyze the data, and become proficient in tools
We will kick this semester off by focusing on the real world scenarios depicted in Steven D. Levitt and Stephen J. Dubner's NY Times bestseller: "Freakonomics: A rogue economist explores the hidden side of everything" (http://www.freakonomics.com/). We willl (1) Read each of the six chapters. (2) Learn science methods used in that chapter, and (3) Learn computer science tools for implementing that method on real world and synthetic data. We will continue studying examples in the follow-on book "Superfreakonomics". If time cotinue study other examples drawn from the real world, including winning strategies in monopoly the popular board game, and Benford's First Digit Law to discover patterns in data.
There are two primary thrusts of the course. The first thrust is to gain an understanding of the underlying principles and concepts of phenomena in nature such as "cheating teachers, bizarre baby names, self-dealing Realtors, and crack-selling mama’s boys" [URL citation here], and the other is to investigate tools to facilitate this understanding including Excel and tentatively Python programming.
General Information
Lectures: | Mon/We/Fr: 09:05 AM -09:55AM | Boyd (Building 1023), Room # 0328 |
Group / Team Presentations: | Fridays later in semester | |
Instructor: | Maria Hybinette | maria (at) cs.uga.edu |
Office hours: | We: 10 AM - 11 AM | Boyd 219C |
TA: | Bhargabi Chakrabarti | bhargabi (at) uga.edu |
Office hours: | Monday 12.20 -1.20 PM, Tuesday 3-4 Pm | Hardman Hall 224 |
Mailing lists: | CS-MODEL@LISTSERV.UGA.EDU | Tentatively, not set up yet. |
Course Textbooks, and other Required Resources
- "Freakonomics: A rogue economist explores the hidden side of everything" (http://www.freakonomics.com/books/freakonomics/).
- "SuperFreakonomics"
(http://www.freakonomics.com/books/superfreakonomics/). - Excel: Latest version 2012 or later (student version available at bookstore).
- Microsoft Ofifice Suite: (lectures and tutorials will be using Excel 2011 (Mac) version 14.3.7, you may use other, and earlier versions including Open Office - but in that case you are expected to fill up the 'gaps' on your own.
-
Python, not assumed you have experience programming in python (yet) - we will spend 1-2 weeks introducing python programming.
(http://en.wikipedia.org/wiki/Python_(programming_language)) - Laptop bring to class, every class period.
- Other web resources announced in class.
Grading Policy and Evaluation:
You are evaluated on exams & quizzes, in-class tutorial, homework and labs, presentations and implementation of software projects. The distribution is below, but is
|
The general grading philosophy is the following (the context is "programs" and "projects" but it should generalize to homework and other required elements).
A+ (95-100) Extraordinary, goes beyond the minimum criteria both in depth and breath. Design is thorough and well thought out, code base and implementation is beautiful- modularized, complete, clear and concise. A well thought out debugging strategy is apparent. Well documented code. The evaluation plan is well executed and well thought out, goes beyond the simple cases and illustrates strong problem solving skills.
A (90-94) Superior (somewhat less than an A+, almost perfect code, beautiful, concise, minimum criteria met, not as much depth and forethought as an A+ but it is superb), goes beyond meeting the minimum criteria demonstrates depth, can apply solution to a variation of similar problems.
B (80-89) Good, minimum criteria well executed and well done, shows some depth and understanding, meets most test cases but does not demonstrate as much forethought as an A;
C (70-79) Fair, minimum criteria met, but could have been executed with more depth and forethought.
Late Policy
Homework assignments, projects and summaries are due on the date and time specified in the assignment or the day of the presentation of topic (both email as a time stamp and hand-in hardcopy are required for full credit). Late homework will not be accepted.
For the programming assignments you will in general have 3 grace days to extend the due date of a programming assignment (for you only, not the whole class) unless otherwise specified in class Assignments turned in after the due date lose 10% per day, including weekends and holidays. Please make a note in a README file that you're using grace days when you submit the assignment; you cannot retroactively apply them to assignments you've already submitted.
There may be a time where you submit a project or assignment but it doesn't work for the TA (the TA will not fix your assignments. If this happens, your project will be returned to you and you will be given the opportunity to fix and resubmit the project (after this point you may have to meet with the TA to demonstrate it). After the project is returned to you, every 24 hour period used to fix the project will use up a grace day. If you no longer have any grace days left, 10% will be docked off of the project for every day late. If you feel that the project should have worked, and you are not at fault, please contact the TA immediately in order to schedule an appointment to resolve the issue.
Homework and Projects Posting
Projects and homework will be posted on the web from the scheduling page (see link top menu bar), and will be accessible from anywhere on the Internet. Assignments may be posted before they are officially assigned; however, you should not assume that an assignment on the web is in final form until the date it is assigned. In other words, assignments are subject to change before the date that they are officially assigned.
The software programming projects are of-course an important component of this course. You'll be making programs of the languages presented in class. The programming tools you'll need (Game engine, compiler, debugger, etc.) may be denoted on the project page and should be downloaded and installed on your workstation.
Technical Paper, Chapter or Case Study Summaries
You will read/skim at least one case study, technical paper, chapter or essay every week. For each week each you will prepare a 1-page summary. This summary must be emailed to the grader account (or instructor if we don't have a grader), before midnight on Wednesday. You also must turn in a hard copy of your summary the following day (Thursday). The hardcopy will be used for grading and the email will check when you turned in the summary. The summary needs to reflect that you made an effort to read and understand the paper/chapter/resource. The summary should address the questions listed on the reading list. You may skip up to 2 summaries without a penalty throughout the semester (see reading page link above for specific questions that you need to address).
Presentations
There may be short presentations throughout the semester, here each presenter or team is expected to read additional case studies (or essays, or web resources) to ensure breadth of the week's topic.
Participation and Attendance
Class attendance is mandatory; we typically do not take attendance - but it happens, and class participation is 5% of your grade. So how do we know? Don't worry, we know.
Homework, assignments, and important dates will be posted on the scheduling page and is provided as a courtesy and is not always complete. It's your responsibility to find out what you missed if you don't attend class. You are also required to subscribe to the class email list or forum - and be aware that sometimes homework is assigned via the forum - or there are some hints posted in the forum - you probably do not want to miss that.
Office hours are of-course optional. They're your chance to ask the professor and TA questions about the material being covered, programming assignments, or anything else about operating systems (or other general computer science issues) you want to discuss.
Other Class Policies
The purpose of the assignments and projects is familiarization of concepts and details of computer modeling and science. The assignments & projects are expected to be individual work unless other specified. However, you are encouraged to ask questions of one another, and to respond to other student's questions on the email list. Direct exchange of code is prohibited, as is line-by-line assistance from anyone or thing. This is checked for every assignments. If you do get help from other sources than book, slides, or TA you must acknowledge the source in the material that you turn in - still not copying is allowed.
Unless otherwise specified, exams are closed-book and no additional materials may be used. Missing an exam: absence due to serious illness will be an acceptable reason for missing an exam. Doctor's diagnostic note is required. The final grade will be scaled accordingly. You must subscribe to the class email list, see details HW1 listed on the schedule page. Assigned homework (if any) must be typed, you must also email a copy to the class email account.
Class Photo:
Place Holder ~~ My Spring 2013 Game Programming Class ~~ |
Acknowledgments
This semester, this course is inspired by Mark Guzdial's Freakonomics course, and other similar courses .