28
CSC/ECE 517: Object- CSC/ECE 517: Object- Oriented Languages & Oriented Languages & Systems Systems Web site: Web site: http://courses.ncsu.edu/csc517/lec/001 http://courses.ncsu.edu/ece517/lec/001 http://courses.ncsu.edu/ece517/lec/001 http://www.csc.ncsu.edu/faculty/efg/517/f12 http://www.csc.ncsu.edu/faculty/efg/517/f12

CSC/ECE 517: Object-Oriented Languages & Systems

Embed Size (px)

DESCRIPTION

CSC/ECE 517: Object-Oriented Languages & Systems. Web site: http://courses.ncsu.edu/csc517/lec/001 http://courses.ncsu.edu/ece517/lec/001 http://www.csc.ncsu.edu/faculty/efg/517/f12. Live Question. Used as a “ backchannel ” during class http://cyber.law.harvard.edu/questions/csc517a. - PowerPoint PPT Presentation

Citation preview

Page 1: CSC/ECE 517: Object-Oriented Languages & Systems

CSC/ECE 517: Object-Oriented CSC/ECE 517: Object-Oriented Languages & SystemsLanguages & Systems

Web site:Web site:http://courses.ncsu.edu/csc517/lec/001

http://courses.ncsu.edu/ece517/lec/001http://courses.ncsu.edu/ece517/lec/001

http://www.csc.ncsu.edu/faculty/efg/517/f12http://www.csc.ncsu.edu/faculty/efg/517/f12

Page 2: CSC/ECE 517: Object-Oriented Languages & Systems

Live QuestionLive Question

Used as a Used as a ““backchannelbackchannel”” during class during classhttp://cyber.law.harvard.edu/questions/csc517a http://cyber.law.harvard.edu/questions/csc517a

Page 3: CSC/ECE 517: Object-Oriented Languages & Systems

Google formsGoogle forms

Used toUsed torespond torespond toquestions from questions from meme during class … during class …

Page 4: CSC/ECE 517: Object-Oriented Languages & Systems

Major course topicsMajor course topics

RubyRuby

Ruby on RailsRuby on Rails

O-o design fundamentals O-o design fundamentals and UMLand UML

O-o design principlesO-o design principles

Design patternsDesign patterns

Page 5: CSC/ECE 517: Object-Oriented Languages & Systems

Collaborative learningCollaborative learning

Based on …Based on …– Pair programmingPair programming– Agile methodologiesAgile methodologies– Educational researchEducational research

Page 6: CSC/ECE 517: Object-Oriented Languages & Systems

WhatWhat’’s wrong with working alone?s wrong with working alone?

Industry doesnIndustry doesn’’t do it that wayt do it that way

Learn more from peersLearn more from peers

Less threatening to work with othersLess threatening to work with others

Raises burden on TAsRaises burden on TAs

So I donSo I don’’t have to do all evaluationt have to do all evaluation

Increase burden ofIncrease burden of– interfaceinterface– integrationintegration

Page 7: CSC/ECE 517: Object-Oriented Languages & Systems

WhatWhat’’s wrong with working alone?s wrong with working alone?

Too easy to cheat!Too easy to cheat!

Page 8: CSC/ECE 517: Object-Oriented Languages & Systems

Why do students nevertheless …Why do students nevertheless …

work individually?work individually?– Individual accountability…Individual accountability…

Page 9: CSC/ECE 517: Object-Oriented Languages & Systems

Why nevertheless (cont.)…Why nevertheless (cont.)…

Individ. accountability, cont.Individ. accountability, cont.

Page 10: CSC/ECE 517: Object-Oriented Languages & Systems

Why nevertheless (cont.) …Why nevertheless (cont.) …

Place …Place …

Page 11: CSC/ECE 517: Object-Oriented Languages & Systems

Syllabus: Course goalsSyllabus: Course goalsLearn to Learn to design programsdesign programs with classes that work together with classes that work together with maximum cohesion and minimum coupling, with maximum cohesion and minimum coupling,

Learn how Learn how design methodologiesdesign methodologies, such as CRC cards, , such as CRC cards, and the Uniform Modeling Language, can be used to and the Uniform Modeling Language, can be used to express the interaction betweeen program components. express the interaction betweeen program components.

Understand the differences between Understand the differences between staticallystatically and and dynamically typeddynamically typed object-oriented object-oriented languageslanguages, and be , and be able to program in both, able to program in both,

Learn how an understanding Learn how an understanding software design patternssoftware design patterns can be used to structure programs so that they are can be used to structure programs so that they are robust robust and extensibleand extensible, and , and

Appreciate how programs can be restructured Appreciate how programs can be restructured ("("refactoredrefactored") to ") to improve their adherenceimprove their adherence to the to the principles of good designprinciples of good design..

Page 12: CSC/ECE 517: Object-Oriented Languages & Systems

TAsTAs

Laksmi RamachandranLaksmi Ramachandran

Ling ChenLing Chen

Sachin GujarSachin Gujar

Sanjay ShanbogueSanjay Shanbogue

Page 13: CSC/ECE 517: Object-Oriented Languages & Systems

TextbooksTextbooks

Page 14: CSC/ECE 517: Object-Oriented Languages & Systems

TextbooksTextbooks

Page 15: CSC/ECE 517: Object-Oriented Languages & Systems

TextbooksTextbooks

Page 16: CSC/ECE 517: Object-Oriented Languages & Systems

TextbooksTextbooks

Page 17: CSC/ECE 517: Object-Oriented Languages & Systems

WebassignWebassign

Used for quizzes, examsUsed for quizzes, exams

Account costs $19.95 for semesterAccount costs $19.95 for semester

Page 18: CSC/ECE 517: Object-Oriented Languages & Systems

““Incremental learningIncremental learning”” requirement requirement

Everyone responsible for Everyone responsible for learning learning material as it is presented.material as it is presented.

Satisfy this by …Satisfy this by …

Responding to Google Responding to Google forms in classforms in class

Passing quizzes on online Passing quizzes on online materialmaterial

Page 19: CSC/ECE 517: Object-Oriented Languages & Systems

Audit requirementAudit requirementDo one homework, or take one test Do one homework, or take one test (not post-quiz), before fall break and (not post-quiz), before fall break and score at least 50%; then score at least 50%; then – do one homework, or take one test, do one homework, or take one test,

after July 4 and score at least 50%. after July 4 and score at least 50%.

You can choose which homework or You can choose which homework or test to take, and if you take one and test to take, and if you take one and fail to score 50%, you can try fail to score 50%, you can try another. another.

Page 20: CSC/ECE 517: Object-Oriented Languages & Systems

Assignments and weightingAssignments and weighting

Page 21: CSC/ECE 517: Object-Oriented Languages & Systems

Programming assignmentsProgramming assignments

Page 22: CSC/ECE 517: Object-Oriented Languages & Systems

Writing assignmentsWriting assignments

Page 23: CSC/ECE 517: Object-Oriented Languages & Systems

Teaming requirementTeaming requirement

Work with a Work with a minimum of 6minimum of 6 other other students during the semesterstudents during the semester– Writing Exercise 1Writing Exercise 1– Live Question app (Program 1)Live Question app (Program 1)– OSS project (Program 2)OSS project (Program 2)– Writing Exercise 2Writing Exercise 2– Semester project (Program 3)Semester project (Program 3)

in teams of 2

up to 3

up to 3

up to 2

up to 4

Page 24: CSC/ECE 517: Object-Oriented Languages & Systems

Penalty for latenessPenalty for lateness

10 pts./day10 pts./day

Page 25: CSC/ECE 517: Object-Oriented Languages & Systems

Academic integrityAcademic integrity

See See http://www.csc.ncsu.edu/faculty/efg/http://www.csc.ncsu.edu/faculty/efg/517/f12/integrity 517/f12/integrity

Page 26: CSC/ECE 517: Object-Oriented Languages & Systems

Technological support (summary)Technological support (summary)

For questions outside of classFor questions outside of class– PiazzaPiazza– WebassignWebassign

Page 27: CSC/ECE 517: Object-Oriented Languages & Systems

For us to work togetherFor us to work togetherSynchronously: VCL, SkypeSynchronously: VCL, Skype

Asynchronously: Wiki or Google docs, Asynchronously: Wiki or Google docs, ExpertizaExpertiza

Page 28: CSC/ECE 517: Object-Oriented Languages & Systems

ExerciseExercise

Read one of these wiki pages on use Read one of these wiki pages on use cases:cases:– Rows 1, 5, etc.: http://tinyurl.com/row-1-pageRows 1, 5, etc.: http://tinyurl.com/row-1-page– Rows 2, 6, etc.: http://tinyurl.com/row-2-pageRows 2, 6, etc.: http://tinyurl.com/row-2-page– Rows 3, 7, etc.: http://tinyurl.com/row-3-pageRows 3, 7, etc.: http://tinyurl.com/row-3-page– Rows 4, 8, etc.: http://tinyurl.com/row-4-pageRows 4, 8, etc.: http://tinyurl.com/row-4-page

Then fill out the rubric linked to Then fill out the rubric linked to todaytoday’’s exercises.s exercises.