Advanced Web Apps - UF College of Journalism and ... 4930-1211... · Advanced Web Apps syllabus /...

Preview:

Citation preview

AdvancedWebAppssyllabus/McAdams 1

AdvancedWebAppsJOU4930|Spring2016|Section1211|1070WeimerHall Tuesdays11:45a.m.–2:45p.m.(periods5,6and7) Instructor: MindyMcAdams,Professor,DepartmentofJournalism Email: mmcadams@jou.ufl.edu Office: 3049WeimerHall Officehours: Wednesdays1–3p.m.|AndbyappointmentWorkshop: HoursTBAOfficephone: (352)392-8456(NOTE:Emailisbetter.Muchbetter.) WEBSITE: https://webappsplus.wordpress.com/

CourseDescription Thiscourseaddsserver-side(back-end)Webskillstotheclient-side(front-end)Webskillsstudentshavealreadydevelopedintheprecedingcourse,withthegoalofdevelopingWebappsthatincludeaserver-sidecomponenttoadvancejournalismstorytelling.WebscrapingisalsocoveredtoenablejournaliststogatheropendatafromtheWebforanalysis.Learningaserver-sideprogramminglanguageispartofthiscourse.

CourseObjectives Inthiscourse,studentslearnhowto:

1. UseSQL(StructuredQueryLanguage)tocreatedatabasesandtoread/writedata.2. Scrapewebsitestocollectdatathatcanthenbestored,analyzedandreused.3. WriteprogramsinPython.4. Createserver-sideWebappsusingFlask,aPythonframework.5. Solveproblemsinsettingupandusingcommand-linetools.

AttendanceandAttitudeStudentsareexpectedtoshowrespectforoneanotherandfortheinstructor.Attendanceandarrivingontimeforclassarenecessary.Latenessandabsenceswillresultinalowerfinalgrade.Ifyouhavebeenabsent,youareresponsibleforfindingoutaboutanymissedmaterialbyconsultinganotherstudentorgoingtotheinstructor’sofficehours.Thesematterswillnotbehandledviaemail.

MobiledevicesmustbeturnedOFFandplacedoutofsightduringclass.Donotchecktextmessages,socialmedia,email,etc.,duringclass,asyourinstructorconsidersthisquiterudeandthereforegroundsfordisciplinaryaction.Giveyourfullandundividedattentiontoanyonewhoisspeakinginclass,includingyourfellowstudents.

AdvancedWebAppssyllabus/McAdams 2

Studentsareexpectedtousealaptopcomputerduringclass.However,ifyouareseencheckingsocialmediaoranyothersitesunrelatedtotheimmediatetopicsbeingdiscussedinclass,penaltieswillbeimposed.Penaltiesrangefromawarning(firstoffense)togradepointdeductions.Pleasegiveyourfullattentiontotheclasswhileyouareintheclassroom.

UFAttendancePolicies> https://catalog.ufl.edu/ugrad/current/regulations/info/attendance.aspx

CourseDeadlinesandMakeupWork Lateassignmentsarenotaccepted.Thismeansthatanassignmentsubmittedlateisgradedasazero.Assignmentsarenotacceptedviaemailunlessrequestedbytheinstructor.Ifanillnessorapersonalemergencypreventsyoufromcompletinganassignmentontime,advancenoticeandwrittendocumentationarerequired.Noworkfor“extracredit”isaccepted.

NOTE:AssignmentdeadlinesinCanvasareusuallysetfor11:59p.m.Ifyousubmitafterthedeadline,yourassignmentislate.

AcademicDishonesty Academicdishonestyofanykindisnottoleratedinthiscourse.Itwillbereportedtothestudent’sdepartmentchairANDtotheuniversity’sDeanofStudents—anditwillresultinafailinggradeforthiscourse.Aformalreportoftheoffensewillbefiledwiththeuniversity’sDeanofStudents.

Academicdishonestyincludes,butisnotlimitedto:

! Usinganyworkdonebyanotherpersonandsubmittingitforaclassassignment.! Submittingworkyoudidforanotherclass.! Copyingandpastingcodewrittenbyanotherpersoninplaceofsolvingtheassignedproblemon

yourown.(Note:Insomecasesanassignmentwillrequireyoutousecodewrittenbyothers.Thosecasesareexempt.)

! Sharingcodewrittenbyyouwithanotherstudent.

UFStudentHonorCode> https://www.dso.ufl.edu/sccr/process/student-conduct-honor-code/

RequiredBooksandMoreStudentsarerequiredtoreadseveralassignedchaptersandcompleteexercisesinthesetwobooks:

WebScrapingwithPython:CollectingDatafromtheModernWeb,byRyanMitchell(O’Reilly,2015)

FlaskWebDevelopment:DevelopingWebApplicationswithPython,byMiguelGrinberg(O’Reilly,2014)

AdvancedWebAppssyllabus/McAdams 3

Allstudentsareexpectedtopossesstheirowncopyofeachbook,whetherprintedorelectronic.Quizquestionsaretakenfromthebooksandotherassignedmaterials.Studentsmightneedtousethebookduringclass.Ebooks(PDF,etc.)availableatO’Reilly:http://www.oreilly.com/PrintedbooksmightbecheaperfromAmazon.

WebhostingStudentsarerequiredtohavefull-serviceWebhostingattheirowndomain.TherecommendedproviderisReclaimHosting.OtherhostingcompaniesareacceptableiftheyprovideSSHaccessandprovideMySQL(orMariaDB)viaphpMyAdmin.

> https://reclaimhosting.com/

LaptopAllstudentsinthiscoursemustownalaptoptheycanbringtoclasswiththem.AtabletwillNOTbesufficientforthiscourse.Anyoperatingsystemisokay,butMacOSXisstronglypreferred.Forassistancewithyouroperatingsystemorhardware,pleaseusetheUFComputingHelpDeskifyoucannotsolveaproblem.Bringyourpowercordtoclasswithyou.

HeadphonesorearbudsDuringclass,youmightfindyouneedtowatchorre-watchvideos.Forthisreason,pleasebesuretoalwaysbringheadphonesorearbudswithyou.

StudentswithDisabilities StudentsrequestingaccommodationsmustfirstregisterwiththeDeanofStudentsOffice.TheDeanofStudentsOfficewillprovidedocumentationtothestudent,whomustthenprovidethisdocumentationtotheinstructorwhenrequestingaccommodations.

UFDisabilityResourceCenter> https://www.dso.ufl.edu/drc/

CourseRequirements Readthisentiredocumentinthefirstweekofclasses.Ifanythingisnotcleartoyou,askmeforclarificationbeforeJan.11,2016.Thissyllabusisacontractbetweenyouandme.

Pleasemakesuretocheckthecoursewebsiteatleastonceaweek.Ifyourelyonlyonaprintedordownloadedcopy,youmaymissachangeintheschedule.

> WEBSITE:https://webappsplus.wordpress.com/

AdvancedWebAppssyllabus/McAdams 4

QuizzesTherewillbequizzesontheassignedreading.QuizzesareinCanvasandareopen-book.OntheCourseSchedulepageonthecoursewebsite(seeabove),thereadingscoveredonthatweek’squizarelistedunderthesameweekasthequiz.Deadlines:InCanvas.

AssignmentsAssignmentsarelistedandLINKEDontheCourseSchedulepageonthecoursewebsite(seeabove).Exactdeadlines:InCanvas.Formanyoftheassignments,studentswillbegintheworkduringclass.Studentswilllikelyneedtoworkonallassignmentsoutsideclasstocompletethem.Allstudentsareencouragedtocometothescheduledworkshophoursforhelpwiththeweek’sassignment.StudentsareencouragedtohelponeanotheronassignmentsbutNOTtogivesolutionstoothers.

PresentationsTwiceduringthesemester,eachstudentwillberesponsibleforpresentinganinterestingWebapporwebsitethatusesback-endtechnologies.Thestudentisresponsibleforfindingand“deconstructing”theapp/siteandtellingtheclasswhatisinteresting,admirable,especiallycool,etc.ThepurposeofthepresentationistoinspiretheclassandshowhowcurrentWebtechnologiesandtechniquesareused.Studentsareencouragednotonlytoviewsourcebutalsotofind“howwemadethis”articlesorinterviewsabouttheapp/site.Studentsmightcontactthemakersoftheapp/siteandinterviewthem.Thinkofthisasashow-and-tellthateducatesthewholeclassandofferscreativeinspiration.

FinalprojectInthefinalthreeweeksofthecourse,eachstudentwillproduceandcompleteaWebprojectsuitableforyourprofessionalportfolio.Theprojectmustincludeatleasttwoofthefollowing:Python,Webscraping,aSQLdatabase,aFlaskapp.ItmayalsoincludeWebforms,JavaScript,Bootstrapandanyadditionaltechnologiesyoudesire.Theprojectmustbeliveandfunctionalatyourdomainbythedeadline.

AttendanceandparticipationPointswillbesubtractedifyoumissmorethanone(1)classmeeting,arechronicallylate,orrepeatedlyshowinattention.Participationisexpected;youwillbeworkingonassignedprojectsduringclass.

UFDates(Spring2016)Classesbegin Jan.5Drop/Add Jan.5–11Classesend April20FinalExams April23–29

Jan.18 MLKJr.DayFeb.27–March5 SpringBreak

AdvancedWebAppssyllabus/McAdams 5

GradesandGradingPoliciesQuizzes 30pointsAssignments 40pointsPresentations 10pointsFinalproject 10pointsAttendanceandparticipation 10pointsTOTAL 100points

92–100points A 72–77points C90–91points A– 70–71points C–88–89points B+ 68–69points D+82–87points B 62–67points D80–81points B– 60–61points D–78–79points C+ 59pointsorfewer E

UFPoliciesaboutStudentGrades> https://catalog.ufl.edu/ugrad/current/regulations/info/grades.aspx

CourseEvaluationsStudentsareexpectedtoprovidefeedbackonthequalityofinstructioninthiscoursebasedon10criteria.Theseevaluationsareconductedonline:https://evaluations.ufl.edu

Evaluationsaretypicallyopenduringthefinalweeksofthesemester.Studentswillbegivenspecificdateswhentheyareopen.Summaryresultsoftheseassessmentsareavailabletostudents:https://evaluations.ufl.edu/results/

CourseScheduleandRequiredReadings Pleasenotethatmanyimportantdetailsareonthewebsite(https://webappsplus.wordpress.com/)anddonotappearherein.Assignedreadings,linkstovideos,resources,etc.,areontheCourseSchedulepageofthewebsite.Quizzesarebasedontheassignedreadingsinthatsameweek.

Week1|Jan.5Introductiontothecourse.Tools,technologiesandoutcomes.

Week2|Jan.12IntroductiontoSQLanddatabases. IntroductiontoXAMPP,anApacheWebserverthatrunsonyourcomputer.

Week3|Jan.19SQLanddatabases,part2.MoreadvancedSQLqueries;securityissues.

AdvancedWebAppssyllabus/McAdams 6

Week4|Jan.26SQLdatabaseproject.

Week5|Feb.2IntroductiontoPython.

Week6|Feb.9IntroductiontoWebscrapingwithPythonandBeautifulSoup.UsingPIPandvirtualenv.

Week7|Feb.16Webscraping,part2.MorePython.

Week8|Feb.23Webscrapingproject.

Week9|March1 SpringBreak—classdoesnotmeet.

Week10|March8WebappswithPython;introductiontoFlask,aWebframework.

Week11|March15Flask:Basicapplicationstructureandtemplates.

Week12|March22FlaskforWebformsanddatabases.

Week13|March29Flaskproject.

Week14|April5Student’sindividualWebproject.

Week15|April12Student’sindividualWebproject.

Week16|April19Student’sindividualWebproject.

Weeklytopicsaresubjecttochange.PleasechecktheCourseSchedulepageonthecoursewebsiteforthelatestupdates.

Recommended