Transcript
Page 1: COMP 401 Foundations of Programming - …kmp/comp401sp17/syllabus.pdfCOMP 401 Foundations of Programming General Course Info ... Object-oriented programming emphasizes a modular design

COMP401FoundationsofProgramming

GeneralCourseInfo Term: Spring2017 Department: COMP CourseNumber: 401 SectionNumber: 001 CreditHours: 4 Time: Tu/Th,9:30–10:45 Location: Hamilton100 Website: https://piazza.com/unc/spring2017/comp401001/homeInstructorInfo Name: Prof.KetanMayer-Patel Office: 154FredBrooksBuilding Email: [email protected] Phone: 919-590-6009 OfficeHours: M/W,10:00–12:00TeachingAssistants ToBeAnnouncedTextbooksandResources

Thereisnorequiredtextbookforthiscourse.Studentsinterestedinatextthatcoversthematerialinthecoursemayfindoneofthefollowingresourceshelpful:

• ThinkinginJava,3rdEdition,freelyavailablehere:http://www.cs.unc.edu/~kmp/comp401/TIJ/TIJ3.htm

o Note:thereisa4theditionthatissoldviaAmazon• HeadFirstJava,byKathySierra• EffectiveJavabyJoshuaBloch• AnyotherbasicJavaprogrammingtext.

Additionally,Iwillbepostinglinkstovariousweb-basedresources.WewillbeusingSakaionlyforquizzesandasagradebook.RegisteredstudentsshouldfindthattheyalreadyhaveaccesstothecourseSakaisite.

Page 2: COMP 401 Foundations of Programming - …kmp/comp401sp17/syllabus.pdfCOMP 401 Foundations of Programming General Course Info ... Object-oriented programming emphasizes a modular design

WewillbeusingPiazzainordertopostlecturenotes,makeannouncements,solicitfeedback,andtoprovideaplatformforaskingquestionsandgettinghelp.StudentsshouldcreateaPiazzaaccountiftheydonotalreadyhaveoneand“enroll”inthecourseat:https://piazza.com/unc/spring2017/comp401001/home

CourseDescription

Thiscourseisintendedforpeoplewhoalreadyhavesomeexperiencewithprogramming.Mygoalistoteachyouhowtoprogramwellinanobject-orientedstyle.Object-orientedprogrammingemphasizesamodulardesignthatpromotescodereuseandstructuredsolutionsforcomplexproblemsthatareeasiertochangeandmaintain.Almostallmodernprogramminglanguagesincludesomesortofobject-orientedprogrammingmodel.Weassumeyouhavealreadylearnedthefollowingbasicprogrammingconceptseitherinaformalcourseorviapriorexperience:primitivetypes(integers,realnumbers,booleans)variablesconstantsexpressionsassignmentscommentsarraysloopsprocedures/functions/methods.Theseconceptsaretaughtinmostifnotallintroductoryprogrammingcoursesregardlessofwhethertheyteachconventionalorobject-orientedprogramming.Thiscoursewillteachyouthenext-levelprogrammingconcepts.Theseinclude:objectsclassesinterfacespolymorphismencapsulationabstractioninheritancedelegationdesignpatternsexceptionsassertionsformalcorrectness

Page 3: COMP 401 Foundations of Programming - …kmp/comp401sp17/syllabus.pdfCOMP 401 Foundations of Programming General Course Info ... Object-oriented programming emphasizes a modular design

Developingtheskillsthatwillenableyoutousetheseconceptswillformalargepartofthechallengeyoufaceinthiscourse.Afterthiscourse,youwillhaveamuchdeeperunderstandingofprogrammingandlearnsomeoftheideasthatcanmakeprogrammingascience.WewillbeusingJavaasavehicleforlearningtheseconcepts,butourultimateaimistoprovideyouwithafundamentalunderstandingofobject-orientedprogrammingthatcanbebroughttobeartosolveproblemsusingtheobject-orientedfeaturesofanymodernprogramminglanguage.

TargetAudience

ThetargetaudienceforthiscourseincludestudentsintendingtomajorinComputerScienceandstudentswithsomeprogrammingexperienceinterestedindevelopingamoreformalapproachtocomputerprogramming.

Prerequisites

COMP110orCOMP116oranequivalentcourseinbasicprogramminginhighschooloranotherinstitution.Studentswithsufficientexperiencewithprogrammingasahobbyistorinaworkenvironmentmayalsotakethecourse.

CourseRequirements

Studentswillberequiredtocomplete9programmingassignments,aswellasattendmandatoryrecitationsduringwhichtheywillcompletequizzesand/orTA-ledexercises.Additionally,therewillbe1midtermandafinalexam.

KeyDates

Thefollowingduedatesforassignmentsandexamdatesaresubjecttochange.Allassignmentsaredueat11:59pmoftheduedatelistedbelow.Midtermswilltakeplaceinclass.Changeswillbeannouncedinclassassoonastheyareknown.Assignments:Wed. 1/18/17 InitialCourseSurveydueWed. 1/25/17 Assignment1dueWed. 2/1/17 Assignment2dueWed. 2/8/17 Assignment3dueWed. 2/15/17 Assignment4dueWed. 2/22/17 Assignment5dueWed. 3/1/17 Assignment6dueWed. 3/22/17 Assignment7dueWed. 4/12/17 Assignment8due

Page 4: COMP 401 Foundations of Programming - …kmp/comp401sp17/syllabus.pdfCOMP 401 Foundations of Programming General Course Info ... Object-oriented programming emphasizes a modular design

Wed.4/26/17 Assignment9dueExamsThu. 3/9/17 MidtermFri. 5/5/17 FinalExam(8:00AM–11:00AM)

GradingCriteria

Coursegradeswillbebasedonstudentperformanceon:• assignments(40%),• Inclassparticipation/quizzes/recitationattendance(10%),• midterms(25%each),• andthefinalexam(25%).

CoursePoliciesAlthoughclassattendanceisnotrecorded,itisstronglyrecommendedthatstudent’sattendalllectures.Studentsarenotrequiredtoprovideadvancenoticeofmissedlectures.RecitationsectionsAREmandatoryandanyabsencefromarecitationsectionwillresultindiminishedcreditfortheparticipationportionoftheircoursegrade.Excusedabsencefromarecitationduetouniversity-relatedactivities(e.g.,athleticcompetition,etc.)mustbeobtainedinadvance.Excusedabsencefromarecitationduetoillnessorunforeseencircumstancesmayrequirewrittendocumentation.Assignmentswillbeturnedinusingaweb-basedsubmissionsystemthatwillbeexplainedinclass.Assignmentsareduebymidnightoftheduedate.Becausesomeassignmentswillbuilduponthesolutionofpriorassignments,studentsthatareunabletocompleteanassignmentbyitsduedatewillbeallowed(andinfactencouraged)tocontinuetoworkonthatassignmentbeforemovingontothenextassignment.Lateassignmentsoradditionalportionsofassignmentswillonlybeeligiblefor50%credit.ThecoursefinalisgivenincompliancewithUNCfinalexamregulationsandaccordingtotheUNCFinalExamcalendar.

HonorCode

Page 5: COMP 401 Foundations of Programming - …kmp/comp401sp17/syllabus.pdfCOMP 401 Foundations of Programming General Course Info ... Object-oriented programming emphasizes a modular design

Allrecitationexercises,quizzes,andexamsmustbecompletedindividuallyandwithoutexternalassistanceorresourcesunlessspecificallyauthorizedbytheinstructororwithintheinstructionsoftheexercise,quiz,orexam.

Studentsareexpectedtoindividuallydevelopsolutionsforassignments.Studentsareallowedtohelpeachotherintheprocessofdebuggingprogramsanddevelopingapproachestotheirsolutions,butshouldnotdirectlywritecodefororsharecodewitheachother.Studentsareexpectedtoself-reportanysignificantcollaborations.Reportingcollaborationprotectsstudentsfrombeingflaggedbycodecomparisonandcheatdetectionsoftware.Eachstudent,however,isexpectedtobeabletoexplainanddiscusstheircodeindividuallyandmaybeaskedtodoso.StudentsareencouragedtousethePiazzasysteminorderaskandanswerconceptualquestionsand/orseekabetterunderstandingofthecoursematerial.Examswillbeclosedbook.Moreinformationcanbefoundhere:http://www.cs.unc.edu/Admin/Courses/HonorCode.html

Disclaimer

Theprofessorreservestorighttomakechangestothesyllabus,includingprojectduedatesandtestdates.Thesechangeswillbeannouncedasearlyaspossible.


Top Related