CSC/ECE 517: Object-Oriented Languages & Systems Web site:
Live Question Used as a “backchannel” during class
Google forms To respond to questions from me during class …
Major course topics Ruby Ruby on Rails O-o design fundamentals and UML O-o design principles Design patterns
Collaborative learning Based on … –Pair programming –Agile methodologies –Educational research
What’s wrong with working alone? Industry doesn’t do it that way Learn more from peers Less threatening to work with others Raises burden on TAs So I don’t have to do all evaluation Increase burden of –interface –integration
What’s wrong with working alone? Too easy to cheat!
Why do students nevertheless … work individually? –Individual accountability…
Why nevertheless (cont.)… Time …
Why nevertheless (cont.) … Place …
Syllabus: Course goals Learn to design programs with classes that work together with maximum cohesion and minimum coupling, Learn how design methodologies, such as CRC cards, and the Uniform Modeling Language, can be used to express the interaction betweeen program components. Understand the differences between statically and dynamically typed object-oriented languages, and be able to program in both, Learn how an understanding software design patterns can be used to structure programs so that they are robust and extensible, and Appreciate how programs can be restructured ("refactored") to improve their adherence to the principles of good design.
TAs Aysu Ezen David Young Xibin Gao
Textbooks
Textbooks
Textbooks
Textbooks
Webassign Used for quizzes, exams Account costs $19.95 for semester
Attendance requirement Everyone responsible for “attending” 25 of 27 class sessions. Satisfy this by … Responding to ½ of Google forms during class (min. 2), or Passing post-quiz w/in 1 week On-campus students must do Google forms ≥ 12x during semester
Audit requirement Do one homework, or take one test (not post-quiz), before fall break and score at least 50%; then –do one homework, or take one test, after fall break and score at least 50%. You can choose which homework or test to take, and if you take one and fail to score 50%, you can try another.
Assignments and weighting
Programming assignments
Wiki textbook
Textbook chapter
Teaming requirement Work with a minimum of 6 other students during the semester –Wiki 1 –Live Question app (Program 1) –OSS project (Program 2) –Wiki 2 –Semester project (Program 3) in teams of 2 up to 3 up to 2 up to 4
Penalty for lateness 10 pts./day
Academic integrity See /517/f11/integrity /517/f11/integrity /517/f11/integrity
Technological support (summary) For questions in class … –Your questions to me –My questions to you
Technological support (summary) For questions outside of class –Piazza –Webassign
For us to work together Synchronously: VCL, Skype Asynchronously: Wiki, Expertiza
Exercise Read one of these wiki pages on use cases: –Rows 1, 5, etc.: –Rows 2, 6, etc.: –Rows 3, 7, etc.: –Row 4, 8, DE: Then fill out the rubric linked to today’s exercises.