Skip to content

fdac20/news

Repository files navigation

TNVoice (TN Volunteer Online Instructor & Course Evaluations)

  • Will open on Monday, November 16 at 8:00 am, and will remain open until midnight on Tuesday, December 1. https://utk.campuslabs.com
  • Please let me know how you'd like to improve this course

Please reserve Final Project Presentation date

  • Nov 19, Nov 24, During Final Exam (1:00 p.m. – 3:15 p.m. Tuesday, December 8)
  • Preferences
    1. TwitterSentiment: Nov 19, Nov 24
    2. Olympics: Nov 24, Nov 19
    3. Security Vulnerabilities: Final Exam, 24th, 19th
    4. Digital Currency: Final Exam, 24th, 19th
    5. FoodRec: Nov 24, Final
    6. AppPermissions: Nov 24, Final
    7. TitleIV: Final, Nov 24th, Nov 19th
    8. RoadSafety: Final Exam, 24th,
    9. StockPrices: Final Exam, 24th,
    10. Spotify Song: Nov 24, Final
    11. KickTool: Final Exam, 24th, 19th
    12. Presidential Poll: Final Exam, 24th
    13. BikeShare: Final Exam, 24th
    14. Emoji Context: 24th, Final, 19th
    15. DebateAnalysis: Final, 24
    16. RateMyProfessors: Final, 24
    17. NewsBias: Final, 24 18: NetworkIntrusion, 24, Final
    18. Billboard 100, 24, Final

Presentations

  - Nov 19: KickTool, TwitterSentiment (up to 20min per presentattion)
  - Nov 24: FoodRec, AppPermissions, Spotify Song, Emoji Context, NetworkIntrusion, Billboard 100, Olympics (up to 10/presentation)
  - Final: Security Vulnerabilities, Digital Currency, TitleIV, RoadSafety, StockPrices, Presidential Poll, Debate, RateMyProfessor, NewsBias, BikeShare (up to 11m/presentation)

Final Project Reports (Due on the final exam date 1:00 p.m. – 3:15 p.m. Tuesday, December 8)

Similar to progress reports with additional sections:

  • Objective (research question)
  • Data that was used: how obtained, how processed, integrated, and validated
  • What models or algorithms were used
  • Results: A description of the results
  • Primary issues encountered during the project
  • Future work: ideas generated, improvements that would make sense, etc
  • Org chart: rough timeline and responsibilities for each member

Please use a zoom number for you final project team

Class on Nov 17

  • MP3 Part D feature extraction is due on Nov 24
  • MP3 Part D Analysis introduced

Class on Nov 12

  • MP3 Part D is introduced

Class on Nov 10

  • Questions
  • Work on final projects

Class on Nov 5

  • Questions on MP3C: MP3 Part C is Due at the end of class
  • Work on final projects

Class on Nov 3

  • Questions on MP3 Part C
  • Work on final projects

Class on Oct 29

  • ** No class: Engineering day **

Class on Oct 27

  • Introducing MP3 Part C
  • Work on final projects or
  • Ask questions

Class on Oct 22

  • MP3 Part B Due
  • Work on final projects or
  • Ask questions

Class on Oct 20

Class on Oct 15

  • MP3 Part A Due
  • Work on final projects or
  • Ask questions

Class on Oct 13

  • Introducing MP3 Part B
  • Work on final projects or
  • Ask questions

Class on Oct 8

  • Work on final projects or
  • Ask questions

Class on Oct 6

  • MP2 due
  • Revisit MP3
  • Work on final projects

Class on Oct 1

  • Questions on gcp
  • Introducing MP3
  • Work on final projects

Class on Sep 29

  • Schedule for Miniproject2: Due on Oct 6 end of class
  • Introducing GCP
  • Other matters as needed

Class on Sep 24 (complete project proposals)

Final project proposals are due at the end of the class
The group needs to submit a project proposal (1.5-2 pages in IEEE format (see https://www.overleaf.com/latex/templates/preparation-of-papers-for-ieee-sponsored-conferences-and-symposia/zfnqfzzzxghk).
The proposal should provide
    an objective
    a brief motivation for the project,
    detailed discussion of the data that will be obtained or used in the project,
    responsibilities of each member, along with
    a time-line of milestones, and
    the expected outcome
The proposal pdf will be committed to fdac20/ProjectName/proposal.pdf

Class on Sep 22

  • Please fill project teams: https://github.com/orgs/fdac20/teams, the first person in the pitch can add the rest.
  • !!!Do a pull request on Miniproject1 if you have not done so yet: will stop accepting PRs for MP1 on Thursday. If you experience difficulties, please let me know!!!
  • Lecture on data discovery and data storing (databases).
  • Introducing Miniproject2.

Class on Sep 17

  • Final project team formation
  • Most teams formed (create fdac20/ProjectName repo and a team of the same name; invite members of the team)
  • Start brainstorming/writing final project proposal (see Sep 24)

Class on Sep 15

  • First 20 min: Final project pitches (Regular zoom number https://tennessee.zoom.us/j/2766448345)
  • Presentations of the Miniproject by the person selected in each group
    • Group 1: jgray51, Group 2: isikkema, Group 3: chupi, Group 4: delayed, Group 5: lcourtn5,
    • Group 6: tuckermiles70, Group 7: abhidya, Group 8: alambe22, Group 9: bbible, Group 10: hjw848

Class on Sep 10

Class on Sep 08

  • We will use regular zoom number today: https://tennessee.zoom.us/j/2766448345
  • Please don't forget to enable issues on your fork of Miniproject1 so your peer can raise issues
  • After all questions are answered we will switch to https://tennessee.zoom.us/j/99284951954 so that each group is ready for the next class.
  • Discuss ideas with your assigned peers in the small groups, finish Miniproject1

Class on Sep 3

  • Thank you for submitting project ideas to fdac20/FinalProjectPitches
  • Please submit ** Practice0 task ** if you have not done so
  • If you still have any questions regarding MP1, I will try to answer them:

Class on Sep 1

Class on Aug 27

Class on Aug 25

  • Previous lecture has been recorded (please see the link below)
  • We will go over the lecture on key tools used for the class and on version control practices
  • If you have not submitted the PR before class please:
  • Make sure you have accepted your github invitations at https://github.com/fdac20
  • Please follow through ssh/putty setup - Full details

Class on Aug 20

  • Create your github account
    • fork repo students
    • create your utid.md file providing your name and interests: see per fdac20/students/README.md, and also provide your utid.key with your public ssh key. Once done, please
    • submit a pull request to fdac20/students
  • Make sure you do it during the class so we can start ready on Aug 25

Information for remote participation via Zoom

Syllabus for "Fundamentals of Digital Archeology"

Simple rules:

  1. There are no stupid questions. However, it may be worth going over the following steps:
  2. Think of what the right answer may be.
  3. Search online: stack overflow, etc.
  4. Look through issues
  5. Post the question as an issue.
  6. Ask instructor: email for 1-on-1 help, or to set up a time to meet

Objectives

The course will combine theoretical underpinning of big data with intense practice. In particular, approaches to ethical concerns, reproducibility of the results, absence of context, missing data, and incorrect data will be both discussed and practiced by writing programs to discover the data in the cloud, to retrieve it by scraping the deep web, and by structuring, storing, and sampling it in a way suitable for subsequent decision making. At the end of the course students will be able to discover, collect, and clean digital traces, to use such traces to construct meaningful measures, and to create tools that help with decision making.

Expected Outcomes

Upon completion, students will be able to discover, gather, and analyze digital traces, will learn how to avoid mistakes common in the analysis of low-quality data, and will have produced a working analytics application.

In particular, in addition to practicing critical thinking, students will acquire the following skills:

  • Use Python and other tools to discover, retrieve, and process data.

  • Use data management techniques to store data locally and in the cloud.

  • Use data analysis methods to explore data and to make predictions.

Course Description

A great volume of complex data is generated as a result of human activities, including both work and play. To exploit that data for decision making it is necessary to create software that discovers, collects, and integrates the data.

Digital archeology relies on traces that are left over in the course of ordinary activities, for example the logs generated by sensors in mobile phones, the commits in version control systems, or the email sent and the documents edited by a knowledge worker. Understanding such traces is complicated in contrast to data collected using traditional measurement approaches.

Traditional approaches rely on a highly controlled and well-designed measurement system. In meteorology, for example, the temperature is taken in specially designed and carefully selected locations to avoid direct sunlight and to be at a fixed distance from the ground. Such measurement can then be trusted to represent these controlled conditions and the analysis of such data is, consequently, fairly straightforward.

The measurements from geolocation or other sensors in mobile phones are affected by numerous (yet not recorded) factors: was the phone kept in the pocket, was it indoors or outside? The devices are not calibrated or may not work properly, so the corresponding measurements would be inaccurate. Locations (without mobile phones) may not have any measurement, yet may be of the greatest interest. This lack of context and inaccurate or missing data necessitates fundamentally new approaches that rely on patterns of behavior to correct the data, to fill in missing observations, and to elucidate unrecorded context factors. These steps are needed to obtain meaningful results from a subsequent analysis.

The course will cover basic principles and effective practices to increase the integrity of the results obtained from voluminous but highly unreliable sources.

  • Ethics: legal aspects, privacy, confidentiality, governance

  • Reproducibility: version control, ipython notebook

  • Fundamentals of big data analysis: extreme distributions, transformations, quantiles, sampling strategies, and logistic regression

  • The nature of digital traces: lack of context, missing values, and incorrect data

Prerequisites

Students are expected to have basic programming skills, in particular, be able to use regular expressions, programming concepts such as variables, functions, loops, and data structures like lists and dictionaries (for example, COSC 365)

Being familiar with version control systems (e.g., COSC 340), Python (e.g., COSC 370), and introductory level probability (e.g., ECE 313) and statistics, such as, random variables, distributions and regression would be beneficial but is not expected. Everyone is expected, however, to be willing and highly motivated to catch up in the areas where they have gaps in the relevant skills.

All the assignments and projects for this class will use github and Python. Knowledge of Python is not a prerequisite for this course, provided you are comfortable learning on your own as needed. While we have strived to make the programming component of this course straightforward, we will not devote much time to teaching programming, Python syntax, or any of the libraries and APIs. You should feel comfortable with:

  1. How to look up Python syntax on Google and StackOverflow.
  2. Basic programming concepts like functions, loops, arrays, dictionaries, strings, and if statements.
  3. How to learn new libraries by reading documentation and reusing examples
  4. Asking questions on StackOverflow or as a GitHub issue.

Requirements

These apply to real life, as well.

  • Must apply "good programming style" learned in class
    • Optimize for readability
  • Bonus points for:
    • Creativity (as long as requirements are fulfilled)

Teaming Tips

  • Agree on an editor and environment that you're comfortable with
  • The person who's less experienced/comfortable should have more keyboard time
  • Switch who's "driving" regularly
  • Make sure to save the code and send it to others on the team

Evaluation

  • Class Participation – 15%: students are expected to read all material covered in a week and come to class prepared to take part in the classroom discussions (online). Asking and responding to other student questions (issues) counts as a key factor for classroom participation. With online format and collaborative nature of the projects, this should not be hard to accomplish.

  • Assignments - 40%: Each assignment will involve writing (or modifying a template of) a small Python program.

  • Project - 45%: one original project done alone or in a group of 2 or 3 students. The project will explore one or more of the themes covered in the course that students find particularly compelling. The group needs to submit a project proposal (2 pages IEEE format) approximately 1.5 months before the end of term. The proposal should provide a brief motivation of the project, detailed discussion of the data that will be obtained or used in the project, along with a time-line of milestones, and expected outcome.

Other considerations

As a programmer you will never write anything from scratch, but will reuse code, frameworks, or ideas. You are encouraged to learn from the work of your peers. However, if you don't try to do it yourself, you will not learn. deliberate-practice (activities designed for the sole purpose of effectively improving specific aspects of an individual's performance) is the only way to reach perfection.

Please respect the terms of use and/or license of any code you find, and if you re-implement or duplicate an algorithm or code from elsewhere, credit the original source with an inline comment.

Resources

Materials

This class assumes you are confident with this material, but in case you need a brush-up...

Other

Databases
  • A MongoDB Schema Analyzer. One JavaScript file that you run with the mongo shell command on a database collection and it attempts to come up with a generalized schema of the datastore. It was also written about on the official MongoDB blog.
R and data analysis
  • Modern Applied Statistics with S (4th Edition) by William N. Venables, Brian D. Ripley. ISBN0387954570
  • R
  • Code School
  • Quick-R
Tutorials written as ipython-notebooks

GitHub

About

Class announcements, schedule, syllabus

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •