CSC/ECE 517: Object-Oriented Languages & Systems Web site: http://courses.ncsu.edu/csc517/lec/001 http://courses.ncsu.edu/ece517/lec/001 http://courses.ncsu.edu/csc517/lec/601 http://courses.ncsu.edu/ece517/lec/601 http://www.csc.ncsu.edu/faculty/efg/517/f11 Live Question Used as a “backchannel” during class http://cyber.law.harvard.edu/questions/CSC517 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 in teams of 2 – Live Question app (Program 1) up to 3 – OSS project (Program 2) up to 3 – Wiki 2 up to 2 – Semester project (Program 3) up to 4 Penalty for lateness 10 pts./day Academic integrity See http://www.csc.ncsu.edu/faculty/efg /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.: http://tinyurl.com/row-1-page Rows 2, 6, etc.: http://tinyurl.com/row-2-page Rows 3, 7, etc.: http://tinyurl.com/row-3-page Row 4, 8, DE: http://tinyurl.com/row-4-page Then fill out the rubric linked to today’s exercises.