• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Programming Social Applications

2018/2019
Academic Year
ENG
Instruction in English
3
ECTS credits
Course type:
Elective course
When:
3 year, 1, 2 module

Instructor


Окопный Павел Валерьевич

Course Syllabus

Abstract

The course begins with the basics of Python, Flask and Web Development, essential for building simple web-applications. Emphasis is both on backend and frontend issues, but also on the general awareness about the web-development implications for social interactions facilitation. ‘Learn Python for Data Science - Online Course’ https://www.datacamp.com/courses/intro-to-python-for-data-science
Learning Objectives

Learning Objectives

  • to introduce the emergence of Application Design for facilitating a variety of social needs online
Expected Learning Outcomes

Expected Learning Outcomes

  • be able to design accurate conceptual models of social applications
  • be able to model the logic of user behavior within an application
  • be able to perform full-stack application development (Python, HTML/CSS, elements of JS, SQL)
Course Contents

Course Contents

  • UX design and Prototyping
    Topic 1 Basics of UX Methods and techniques. Scope and project perspectives. Customer funnel Model of Agile UX. Topic 2 Usage research User stories. Use cases. Mental models and conceptual design. Topic 3 UX evaluation Evaluation Methods and Techniques
  • Front-end development
    Topic 1 Prototyping Sitemap creation. Mockup developing. Topic 2 HTML and web-design HTML. Bootstrap. Page layouts. Content writing Topic 3 Advanced elements Applying JS. Customization of layouts
  • Back-end development
    Topic 1 Introduction to Python Variables and types. Running apps. Application servers. Тopic 2 Databases and APIs SQL queries. Adding databases to the project. Exchanging data between server and a database. Topic 3 Project Deployment Bug fixes. Connecting back- and front-end. Topic 4 Social Algorithms Ranking, recommendations, collaborative filtering.
Assessment Elements

Assessment Elements

  • non-blocking Online programming tasks
  • non-blocking Homework Projects
    Students should develop an application with the help of Python programming language, using Flask libraries and MySQL DBMS. The application should involve one of the AI algorithms, such as collaborative filtering and have a web-interface which supports at least one user scenario. The user scenario should start with logging into the application and end with returning the result of algorithm usage, for instance, a list of recommended products. Projects are done during the second module. Works are submitted in English. Students are allowed to make an application on any topic they like. Progress is supervised by the instructor. Students divide in groups of three, and assign roles to themselves (project manager, designer, programmist) to determine the domain area they are responsible for. However, equal contribution is expected from each of them. As a final result, students must send a repository containing code, issues, basic flow of the user, and description.
Interim Assessment

Interim Assessment

  • Interim assessment (2 module)
    0.6 * Homework Projects + 0.4 * Online programming tasks
Bibliography

Bibliography

Recommended Core Bibliography

  • Turner, P. (2017). A Psychology of User Experience : Involvement, Affect and Aesthetics. Cham, Switzerland: Springer. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1651402

Recommended Additional Bibliography

  • Hartson, R., & Pyla, P. S. (2012). The UX Book : Process and Guidelines for Ensuring a Quality User Experience. Amsterdam: Elsevier Ltd. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=453819
  • Rubio, D. (2017). Beginning Django : Web Application Development and Deployment with Python. [Berkeley, CA]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1623501