6
Advanced Web Apps syllabus / McAdams 1 Advanced Web Apps JOU 4930 | Spring 2016 | Section 1211 | 1070 Weimer Hall Tuesdays 11:45 a.m.–2:45 p.m. (periods 5, 6 and 7) Instructor: Mindy McAdams, Professor, Department of Journalism Email: [email protected] Office: 3049 Weimer Hall Office hours: Wednesdays 1–3 p.m. | And by appointment Workshop: Hours TBA Office phone: (352) 392-8456 (NOTE: Email is better. Much better.) WEBSITE: https://webappsplus.wordpress.com/ Course Description This course adds server-side (back-end) Web skills to the client-side (front-end) Web skills students have already developed in the preceding course, with the goal of developing Web apps that include a server-side component to advance journalism storytelling. Web scraping is also covered to enable journalists to gather open data from the Web for analysis. Learning a server-side programming language is part of this course. Course Objectives In this course, students learn how to: 1. Use SQL (Structured Query Language) to create databases and to read/write data. 2. Scrape websites to collect data that can then be stored, analyzed and reused. 3. Write programs in Python. 4. Create server-side Web apps using Flask, a Python framework. 5. Solve problems in setting up and using command-line tools. Attendance and Attitude Students are expected to show respect for one another and for the instructor. Attendance and arriving on time for class are necessary. Lateness and absences will result in a lower final grade. If you have been absent, you are responsible for finding out about any missed material by consulting another student or going to the instructor’s office hours. These matters will not be handled via email. Mobile devices must be turned OFF and placed out of sight during class. Do not check text messages, social media, email, etc., during class, as your instructor considers this quite rude and therefore grounds for disciplinary action. Give your full and undivided attention to anyone who is speaking in class, including your fellow students.

Advanced Web Apps - UF College of Journalism and ... 4930-1211... · Advanced Web Apps syllabus / McAdams 1 Advanced Web Apps JOU 4930 | Spring 2016 ... Web apps with Python; introduction

  • Upload
    dothien

  • View
    214

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Advanced Web Apps - UF College of Journalism and ... 4930-1211... · Advanced Web Apps syllabus / McAdams 1 Advanced Web Apps JOU 4930 | Spring 2016 ... Web apps with Python; introduction

AdvancedWebAppssyllabus/McAdams 1

AdvancedWebAppsJOU4930|Spring2016|Section1211|1070WeimerHall Tuesdays11:45a.m.–2:45p.m.(periods5,6and7) Instructor: MindyMcAdams,Professor,DepartmentofJournalism Email: [email protected] 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.

Page 2: Advanced Web Apps - UF College of Journalism and ... 4930-1211... · Advanced Web Apps syllabus / McAdams 1 Advanced Web Apps JOU 4930 | Spring 2016 ... Web apps with Python; introduction

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)

Page 3: Advanced Web Apps - UF College of Journalism and ... 4930-1211... · Advanced Web Apps syllabus / McAdams 1 Advanced Web Apps JOU 4930 | Spring 2016 ... Web apps with Python; introduction

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/

Page 4: Advanced Web Apps - UF College of Journalism and ... 4930-1211... · Advanced Web Apps syllabus / McAdams 1 Advanced Web Apps JOU 4930 | Spring 2016 ... Web apps with Python; introduction

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

Page 5: Advanced Web Apps - UF College of Journalism and ... 4930-1211... · Advanced Web Apps syllabus / McAdams 1 Advanced Web Apps JOU 4930 | Spring 2016 ... Web apps with Python; introduction

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.

Page 6: Advanced Web Apps - UF College of Journalism and ... 4930-1211... · Advanced Web Apps syllabus / McAdams 1 Advanced Web Apps JOU 4930 | Spring 2016 ... Web apps with Python; introduction

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.