CSC207 Software Design - Summer 2013 - Communications Group

CSC207 Software Design - Summer 2013 - Communications Group CSC207 Software Design - Summer 2013 - Communications Group

comm.utoronto.ca
from comm.utoronto.ca More from this publisher
09.07.2015 Views

Welcome to CSC207!CSC207 Software DesignSummer 2013Course Description: An introduction to software design. One major goal of this course is to introduceyou to large‐scale software design and development concepts and to tools that become useful as youwork on projects in teams. We will discuss effective team behaviors and communication skills, practiceagile methods for designing software, and use tools such as a fully‐featured IDE and a version controlsystem.The other primary goal of this course is to help you practice how to learn a new language. Instead offocusing on syntax as we did in CSC108H, we will compare salient features of Python and Java, expectingyou to fill in details outside of class, and will investigate Java’s memory model, scoping facilities, andobject‐oriented structures in depth. By the end of this course, we believe that you will pick up newlanguages and tools with little guidance, and expect that you will be prepared to develop code in smallteams.InstructorPetros SpachosOffice BA 4154Emailpetros@comm.utoronto.caOffice HoursTuesdays 5:00pm – 6:00pmLectures LEC5101 Tuesdays 6:00pm ‐ 8:00pm , BA 1190LabsStart the second week of term; locations will be postedon the website.Websitehttp://www.comm.utoronto.ca/~petros/courses/csc207Required background: All the material from CSC148H: object‐oriented programming, a workingknowledge of basic data structures (stacks, queues, trees, linked lists), recursion, searching, and sorting.Readings: The course website will contain (sketchy) lecture notes, the policy on missed work, a link tothe discussion board, and more. All announcements made in lecture and on the discussion board arerequired reading. Code examples will be shared via a repository (we’ll discuss repositories in week 1).There is no required textbook for the course; any required readings will be posted in electronic formatto the course website. However, if you wish to own a hardcopy Java reference, you may find DevelopingJava Software, third edition by R. Winder and G. Roberts to be helpful.Communication: The main communication tool for the class will be the course web site and a discussionboard.Website: Most class materials are available on the course web site; be sure to check regularly.Email: Please use email for personal issues and the discussion board to ask general courserelatedquestions. Include “csc207” in all email subject lines to ensure your message is correctlyfiltered and filed. An informative subject line like “csc207: Question related to X” really helps. I

Welcome to <strong>CSC207</strong>!<strong>CSC207</strong> <strong>Software</strong> <strong>Design</strong> ‐ <strong>Summer</strong> <strong>2013</strong>Course Description: An introduction to software design. One major goal of this course is to introduceyou to large‐scale software design and development concepts and to tools that become useful as youwork on projects in teams. We will discuss effective team behaviors and communication skills, practiceagile methods for designing software, and use tools such as a fully‐featured IDE and a version controlsystem.The other primary goal of this course is to help you practice how to learn a new language. Instead offocusing on syntax as we did in CSC108H, we will compare salient features of Python and Java, expectingyou to fill in details outside of class, and will investigate Java’s memory model, scoping facilities, andobject‐oriented structures in depth. By the end of this course, we believe that you will pick up newlanguages and tools with little guidance, and expect that you will be prepared to develop code in smallteams.InstructorPetros SpachosOffice BA 4154Emailpetros@comm.utoronto.caOffice HoursTuesdays 5:00pm – 6:00pmLectures LEC5101 Tuesdays 6:00pm ‐ 8:00pm , BA 1190LabsStart the second week of term; locations will be postedon the website.Websitehttp://www.comm.utoronto.ca/~petros/courses/csc207Required background: All the material from CSC148H: object‐oriented programming, a workingknowledge of basic data structures (stacks, queues, trees, linked lists), recursion, searching, and sorting.Readings: The course website will contain (sketchy) lecture notes, the policy on missed work, a link tothe discussion board, and more. All announcements made in lecture and on the discussion board arerequired reading. Code examples will be shared via a repository (we’ll discuss repositories in week 1).There is no required textbook for the course; any required readings will be posted in electronic formatto the course website. However, if you wish to own a hardcopy Java reference, you may find DevelopingJava <strong>Software</strong>, third edition by R. Winder and G. Roberts to be helpful.Communication: The main communication tool for the class will be the course web site and a discussionboard.Website: Most class materials are available on the course web site; be sure to check regularly.Email: Please use email for personal issues and the discussion board to ask general courserelatedquestions. Include “csc207” in all email subject lines to ensure your message is correctlyfiltered and filed. An informative subject line like “csc207: Question related to X” really helps. I


try to respond to email frequently. However, due to volume, it may take longer, especially neardue dates.Tutorials/Labs: Lab attendance is mandatory and you will be assigned small pieces of homework fromtime to time to bring to lab. Several of your assignments will be done in groups involving others in yourtutorial section; you will have a chance to apply what we have covered in class on how to workeffectively as a team. During assignment‐focused labs, you will be meeting with your team members andthe TA assigned to be your “scrum master” for your assignments (more about this in class).CDF account and email forwarding: You have a CDF account that you will use to submit your work andto do the labs. We will occasionally send crucial course announcements to that account. You must checkthat email frequently. Probably the best way to do this is to forward email to your UTORmail address,since the university expects you to read it anyway. Here is how to set up email forwarding:http://www.cdf.toronto.edu/cdf/faq.html#MAIL4Marking scheme and due dates:Item Weight Due DateAssignment 0 5% Friday, May 31 stAssignments 1 + 2 + 3 30% Friday, June 14 th – A1Friday, July 5 th – A2, part 1Friday, July 19 th – A2, part 2Friday, Aug. 2 nd – A3Teamwork 5%Participation 5%Quizzes 1 + 2 + 3 20% (best two out of the three) Tuesday, June 4 th – Q1Tuesday, June18th – Q2Tuesday, July 23 rd – Q3Final exam 35% TBDMidterm and final exam: The course has three quizzes that will take place at the beginning of threeTuesday lectures; lecture will continue after the quiz. There is a three‐hour final exam. The final exam iscomprehensive, and you must obtain a mark of at least 40% to pass the course; otherwise, a grade of nohigher than 47% will be assigned.Assignments: There are four assignments. The first and last are to be done individually. The othersinvolve group work. Assignments are to be submitted via the Subversion version control system.Late Work Policies: The late policy is strict. All assignments will be submitted electronically. Assignmentsare due at 10:00 p.m. on the due date. Late assignments will be handled based on a system of "gracedays", as follows: Each student begins the term with 2 grace days. Each group has 2 grace days. Onegrace day is 24 hours. If an assignment is due at 10:00 p.m. on a Friday then an assignment handed in by10:00 p.m. on Saturday uses one grace day; if handed in by 10:00 p.m. Sunday, it uses up 2 grace days; ifhanded in by 10:00 p.m. Monday, it uses up 3 grace days. The grace days are intended for use in


emergencies (e.g., system failure or illness). Do not use all of them to buy an extension because of abusy week or you will be out of luck in a true emergency. Assignments submitted after the due datewhen all grace days have been used will receive a grade of 0.If you are at risk of missing a deadline due to a busy week, rather than use your grace days you shouldhand in a working (and tested) version of a simpler program. In the event of an illness or othercatastrophe, get proper documentation (e.g., medical certificate), and contact me (by email or inperson) as soon as possible. Do not wait until the due date has passed. It is always easier to makealternate arrangements before the due date or test day. Assignments are submitted electronically andwill often be tested using an automated testing program; you must follow the submission instructionsexactly. If you do not, you will most likely lose substantial marks on the assignment. Check yoursubmission carefully. If you find you have submitted the wrong file or omitted a file, please notify yourinstructor as soon as possible.Remarking: Requests for remarking must be done using a university remarking request form explainingin detail what your concern is. Requests for remarking should be submitted no later than one weekafter the assignment or test has been returned to the class. Academic Offenses All of the work yousubmit must be done by you and your work must not be submitted by someone else. Plagiarism isacademic fraud and is taken very seriously. The department uses software that compares programs forevidence of similar code. Please read the Rules and Regulations from the U of T Calendar (especially theCode of Behaviour on Academic Matters).Academic Offenses: All of the work you submit must be done by you and your work must not besubmitted by someone else. Plagiarism is academic fraud and is taken very seriously. The departmentuses software that compares programs for evidence of similar code. Please read the Rules andRegulations from the U of T Calendar (especially the Code of Behaviour on Academic Matters).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!