DOC PREVIEW
UA CSC 620 - Surreptitious Software

This preview shows page 1-2-3 out of 10 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 10 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 10 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 10 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 10 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CSc 620 — Surreptitious Software0 : AdministriviaChristian CollbergDepartment of Computer ScienceUniversity of [email protected] 2008 Christian CollbergAugust 26, 20081 Contact InformationClass : 620 — Surreptitious SoftwareLecturer :Christian CollbergWWW : http://www.cs.arizona.edu/classes/cs620/fall08/index.htmlOffice : Gould-Simpson 758Office Hours : Fri 8-10Phone : 621-6612Lectures : TTh 17:00-18:15, GLD-S 942Honor’s section :TA :none2 Course CommunicationHere are ways to communicate with me and the r est of the class:• Email: [email protected].• IM: uacsc620 (AIM).• Listserv: CSC620f08). You should subscrib e by sending an email with the command subscribeCSC620f08) Christian Collberg to [email protected]).3 Course Outline• Study how to protect programs against intellectual property violations.• We’ll study obfuscation, watermarking, tamperproofing, birthmarking, and hardware protection.• At the end of the course you should1. be familiar with algorithms for software protection,2. know how to use to ols for program transformation.14 TextbooksI will hand out copies of chapters from my forthcoming book Surreptitious Software.You are NOT allowed to redistribute the chapters in any form, electronic or hardcopy!5 SyllabusYou are responsible for readingand unders tanding this syllabus.If you have any concerns o r issuesabout the information in this documentyou should bring them up during thefirst week of clas s.Course Description6 Description of Course• Introduction to several major high-level programming languages and their characteristics.• Programming projects are required in at least three languages.This semester we will study the languages: Haskell, Prolog, and Ruby.The official course description is at http://garnet.ccit.arizona.edu/schedule.cgi?CxSCz372z044zOpen7 Exam-ScheduleThere are no exams.8 Course ObjectivesThe goal of the class is to1. learn about algorithms for software protection, and2. learn how to use tools for program transformation.9 Course Methodology• I will give some lectures.• You will give some lectures.• You will do projects and write project reports.210 Required extracurricular activities• Preparing lectures.• Working programming projects.• Writing project r eports.11 Special materials required for the class• None.12 Assignment Format• Assignments will be mostly in the form of programming problems.• You may work the assignments on any machine you want, but before you hand them in you shouldtest the code on lectura! The TA(s) will grade the assignments on lectura, and if they don’t workthere, he/she won’t debug them for you! There can be subtle problems with code that’s developed ona Windows machine, for example, when it is run on a Unix machine. For example, the two systemsuse different newline characters.13 Prerequisites, Required Knowledge• Prerequisites: Knowledge of programming languages and compilers.• You need to be a competent programmer in a pro cedural/object-oriented language, such as Java or C.3Assessment Scheme14 Tests, Quizzes, and AssignmentsThere will be1. no exams.2. 5 quizzes on the material we study in class. (20%)3. Three assignments:(a) Study and report on a program protection tool. (20%)(b) Give 1-2 lectures on an algorithm. (20%).(c) Final project (40%).15 Late Assignments• Assignments handed in no more than 24 hours late will incur a 10% penalty.• Assignments handed in more than 24 but no more than 48 hours late will incur a 20% penalty.• Assignments handed more than 48 hours after the deadline will receive a grade of 0.16 Making up TestsPop quizzes will be given out at the beginning or end of class and cannot, under any circumstance, be madeup at a later date.17 Curving• All grades (for exams, quizzes, and assignments) will be curved up by throwing away the highest gradein the class and scaling up such that the second highest grade is 100.• The curving is done to adjust for particularly difficult tests/assignments, and to pr event an outlierfrom skewing the grade distribution.• You cannot, after scaling, receive more than 100 on any exam, quiz, or assignment.18 Grade Assignment• You will fail the class if you get less than 50 (after curving) on the final project.• Otherwise, a curved total grade of [90,100] gives you an A, [80,89] a B, [70,79] a C, [60,69] a D, and 59and below an E.419 Incomplete work policy• Except under exceptional circumstances I will not assign incomplete grades.• I decide what is an exceptional circumstance.20 Detailed Grading Scheme• To avoid any ambiguities, I have formalized the informal rules given above.• The rules below should be considered minimum requirements to achieve a particular grade. Theinstructor reserves the right to do additional adjustments, as necessary.• Any contradictions, omissions, errors, or ambiguities in the grading scheme will be resolved by theinstructor.• Any issues or concerns regarding the grading scheme should be brought to the attention of the instructorwithin the first week of class.21 Details — Curving• All raw scores range from 0 to 100.• Each individual score (final, midterm, quizzes, assignments) will be curved using the functioncurve(x, s) = min(100, (100.0/ max(x − max(x)))xs)where x is a set of scores (for an assignment, a test, etc.) and s is a student.• Note: − is set subtraction.• curve(x, s) returns s’s score, curved up by 100.0/2ndhighest class score.22 Details — Curving. . .• For example, assume the following final exam scores:34 45 66 88 98After the curve has been applied, the scores will be38.6 51.1 75 100 10023 Details — Examsfinal exam:• Let f b e the set of final exam scores.• Let fsbe the final exam score for student s.• Let Wfbe the weight of the final exam (0%).• tsf= curve(f, s)Wfis the curved final score for s.midterm exam:5• Let m be the set of midterm exam scores.• Let msbe the midterm exam score for student s.• Let Wmbe the weight of the midterm exam (00%).• tsf= curve(m, s)Wmis the curved midterm s core for s.24 Details — Quizzes• Let qibe the set of scores for the i:th quiz.• Let qisbe the score for student s on the i:th quiz.• Let Wqibe the weight of the i:th quiz (Wqi= 20%/4).• We throw away each student’s lowest quiz score (note: − is set subtraction):q′s= qs− min(qs)• tsq=Pi(curve(q′i, s)Wqi) is the total curved quiz score for student s.25 Details — Assignments•


View Full Document

UA CSC 620 - Surreptitious Software

Download Surreptitious Software
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Surreptitious Software and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Surreptitious Software 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?