Courses
  • Practice of Data Science System Development.    (co-taught with Professor Feng Liu)
  • Undergraduates (Fall: 2020)
    In order to gain valuable requirements of data processing systems, you should first have the practice of related system with concrete applications. Therefore, the part I am responsible for is divided into two stages: Data Processing Applications & System Development.

    ☞☞ Applications are related to: Cloud Computing, Big Data, Natural Language Processing, Machine Learning, et.al.
    ☞☞ Platforms to be used are: OpenStack, Spark, Tensorflow, et.al.

  • Cloud Computing.    (2017~2019 co-taught with Professor Tongwei Ren)
  • Undergraduates (Fall: 201, 2020)
    Postgraduates (Fall: 2017, 2018, 2019, 2020)
    Useful Tool Links:

    ☆☆Here are some useful getting started documents (in Chinese) and demo projects for this course.
    ☆☆Provided by: Xiaodong Hao and Hui Jiang, Undergraduates, 2017.
    ☆☆1. Spark and RDD.pdf
    ☆☆2. Setup Hadoop.pdf
    ☆☆3. Setup Spark.pdf
    ☆☆4. Monitoring UI of Spark.pdf
    ☆☆5. Spark Streaming.pdf
    ☆☆6. RDD or DataFrame.pdf
    ☆☆7. Usage of DataFrame.pdf
    ☆☆8. Instructions of Demo Projects.pdf
    ☆☆9. Streaming Project(RDD version)[.zip]
    ☆☆10. Streaming Project(DataFrame Version)[.zip]
    ☆☆11. GraphX Project[.zip]
    ☆☆12. MLlib Project(Cluster)[.zip]

  • Algorithm Design.    (introduce common algorithm design ideas based on exercises)
  • Postgraduates (Winter: 2017, 2018; Fall: 2019)
    The Online Judge for this course. (Nanjing University campus only)

    Selected Graduation Projects

    Code Management System for Java Projects: for easier to learn from code

    Jiaxing Fu, Ziyi Hu, Xing Jin, Xue Jiang, 2020.06 (Undergraduates).

    The Java project code management system provides a code managing and analyzing platform for development teams. Developers can upload projects and modify files online to achieve more efficient communication and cooperation. In addition, after the project was uploaded, the system analyzes the codes in the project to extract the class relations, package relations, and method invocation relations. Developers can view class diagrams, package diagrams, and method invocation diagrams on the web page to get a more intuitive and efficient development experience.

    Tools and frameworks: Springboot, Hibernate, Vue.js, Element UI, SVG(Scalable Vector Graphics)


    Online UML Design System: for Personal Usage and Team Collaboration

    Jiawei Tang,Qianqian Shi, Tingting Shi, 2020.06 (Undergraduates).

    Requirement analysis is an essential part of requirement engineering, and drawing UML diagram is one of the important means of requirement analysis. In order to make it possible to automatically generate UML diagrams according to the collected and preprocessed system requirements, an open-source and easy-to-use UML modeling system must be built. Because some existing UML modeling systems are not open-source or too complex to carry out secondary development, we want to design and develop a UML modeling tool system that can connect with the existing requirements management and analysis system established by the research group.

    Tools and frameworks: Springboot, Hibernate, Vue.js, Element UI, SVG(Scalable Vector Graphics)


    Annotating System for NLP Applications 2020

    Dong Xu (Server, Postgraduate),Weixing Miao (Andorid APP, Undergraduate), 2020.06. Tao Wang,Min Kong, 2019.06 (Postgraduates).

    In our system, text annotation tasks are divided into six different types, namely, information extraction, text categorization, text relation classification, text matching, sorting, and analogical ranking. Users can upload texts to be labeled into the crowdsourcing platform according to the task type. The system is divided into three modules: release tasks, accomplish tasks and manage tasks.

    Tools and frameworks: RESTful, Springboot, MyBatis, Android, LayUI.


    A Simple Homework Management System for Spark Course

    Xinyu Zhao, Ruru Lu,2019.06 (Undergraduates).

    The study of Spark course cannot be separated from the practice of homework. The purpose of developing this system is to reduce the workload of the teacher in reviewing the assignment. Specific functions provided for teachers include: student management, assignment publishing, and assignment grading; functions provided for students include: viewing and submitting assignments, and viewing scores.

    Tools and frameworks: Springboot, Spark, MongoDB, Pylint, PMD, sim, Bootstrap, Thymeleaf, jQuery.