Course goals
• We’ll practice good design methods in the context of a new language.
• The first three weeks and the last two weeks will focus on Java. The middle of the term focuses on design.
1. Developing good large-scaledevelopment practices
2. Learning a more structured (than Python) language: Java
Course goals
1. Developing good large-scaledevelopment practices
Agile development methods• Scrum• Code Reviews• Structured mark-up (XML)• Software development tools• Netbeans IDE• Version control: SVN• Effective communication
andteamwork
2. Learning a more structured (than Python) language: Java
Java’s version of OO
• Interfaces, polymorphism,modularity and info hiding
• Useful libraries: Java Collections, Swing
Course Overview
Assignments: done individually (including A3); Project: teams of 4
Project marks are individual: Regular, active contribution to the
Be prepared to present and explain your work and your teammates’ work: eachproject submission will include a meeting with your TA.
First tutorialI usually call the tutorials “labs”. There is a lab this week!
Labs are from 8~9 pm.
We don’t use the regular tutorial rooms. Instead, they will be in the CDF labs.
The goals of the lab will be to learn about SVN and basic UNIX commands– lab assignments:
Announcements
• Discussion Board– Check it Regularly
https://csc.cdf.toronto.edu/bb/YaBB.pl?board=CSC207H1Y
– RSS Feed:https://csc.cdf.toronto.edu/bb/YaBB.pl?action=rss;feedboard=CSC207H1Y
Prerequisites• CSC 148H/150H (including transfer credit)
– Don’t have this? The undergrad office may remove you from the course!
– To avoid this fate, please contact me to explain how you have equivalent background.
• Not in a CS program? Minimum CGPA of 1.50.– Lacking this requirement will probably result in removal, but I
can't save you.– Please see the Undergraduate Office instead.
• My prereqs:– Confidence in your programming ability in at least one language
(probably Python)– Willingness to engage with your peers to complete a team
project.
Prerequisite knowledge
• Language structures:– Variables, control structures (if, while and for)– strings, lists, dictionaries, linked lists, trees– functions, classes
• Concepts:– recursion, searching, sorting
• Skills:– good style, code reading and debugging– top-down design, OO decomposition– asking (and answering) questions
• (knowing what you don’t know and knowing how to find out!)
Workload: fun facts
A 40- to 50-hour work week implies 8 to 10 hours per course.
Each week: 2 lectures, 1 lab, 5–7 hours of effective studying/working
One twelfth of the course is over at the end of this week!
Academic offenses• It is an academic offence to claim someone else's work as
your own.
• It is an academic offence to give someone your work.
• When this happens in the workforce, people are fired.
• The project: teams of four. All other work: team of one.
• You must not share work outside your team or seek out inappropriate aid.– What’s inappropriate? Ask me when in doubt!– Always-valid sources: me, the TAs, the text, the Help Centre, anything linked from the course website.
• Make sure to cite any outside resources (like the web or a textbook).– I will not charge you with an offence if you have cited properly, although you may not receive a good mark.
Know it all?• If you have experience with a
professional IDE, Java, version control, and regular expressions, the department might let you skip this course.
• If you think you're eligible, please come see me.
• I also don't want to endanger you.– I promise not to push you to omit 207 if you don't feel ready.– Please do this before the last add date (preferably sooner)
Top Related