Inhalt
Kurzkommentar |
Parts or all of the course will be given as video conferences.
To receive the organizational details, please register for the course in Moodle by April 22!
Lecture: Thursday 12:15-13:45
Exercise: Thursday 14:15-15:45
LEARNING OBJECTIVES
Course participants will gain an overview of the state-of-the-art technologies and tools in computer science. They will become familiar with scripting (Python, Shell), Web technologies (HTML, JavaScript) and essential tools for computer scientists (IDEs, code frameworks, LaTeX, reference managers, etc.). Through practical work on projects, students will get deeper into selected topics and technologies and acquire practical skills necessary to solve various real-world problems in computer science.
Through lectures, exercises and individual work, students will train their ability to:
- analyze a given problem from a computing point of view;
- research programmatical methods to solve the problem;
- implement a solution for the problem using suitable tools;
- structure, write, and format a documentation for the software developed;
- present their work using appropriate presentation techniques and presentation aids;
- answer questions and discuss their work with peers.
By successfully completing the course, participants will acquire the knowledge and the skills required to successfully complete various forms of computer-science-related projects.
|
Kommentar |
COURSE CONTENT DESCRIPTION
Contents of the lectures and exercises:
Command-line & Scripting
- Shell, SSH, SFTP
- grep, sed, regular expressions,
- Shell scripting
Python Programming
- Python basics
- Unit Testing
- Logging
- Parallelization
- Database interaction
Web Technologies
- Python Django
- HTML
- JavaScript
Infrastructure & Support Tools
- Version control using git
- Automated unit testing using Travis
- LaTeX + OverLeaf
- Reference management tools
TEACHING METHODS
The course employs the following teaching methods:
- Interactive lectures to acquire theoretical knowledge and obtain an overview of the available technologies and tools
- Hands-on exercises, in which students solve applied problems to learn essential skills
- Individual projects, in which students solve complex real-world problems to train the skills acquired
TOPICS FOR PRACTICAL PROJECTS
Topics for practical projects will include, but will not be limited to:
- Information retrieval from WikiData
- Natural language processing applications
- Web-based front-end development
- Implementation of similarity measures for sets, sequences, and vectors
|
Literatur |
- Al Sweigart: Automate the Boring Stuff with Python. Available online from https://automatetheboringstuff.com/
- John Zelle: Python Programming: An Introduction to Computer Science. Franklin, Beedle & Associates Inc. (2003). ISBN 978-1887902991
- Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers: How to Think Like a Computer Scientist: Learning with Python 3. Available online from http://openbookproject.net/thinkcs/python/english3e/
- Brad Miller and Runestone contributors: Interactive Python: http://interactivepython.org/runestone/default/user/login?_next=/runestone/default/index
- W. McKinney. Python for Data Analysis - Data Wrangling with Pandas, NumPy, and IPython. O'Reilly Media, 2017. ISBN-13: 978-1491957660
- Python documentation: https://www.python.org/doc/
- Morten Rand-Hendriksen: JavaScript Essential Training. Lynda.com Available via BUW login from http://www.lynda.com/JavaScript-tutorials/JavaScript-Essential-Training/574716-2.html?org=uni-wuppertal.de
- Ved Antani: Mastering JavaScript. Birmingham: Packt Publishing, 2016. Available from https://ebookcentral.proquest.com/lib/ubwuppertal-ebooks/detail.action?docID=4520745
- Carrie Dills: Introduction to CSS. Available via BUW login from http://www.lynda.com/CSS-tutorials/Introduction-CSS/578096-2.html?org=uni-wuppertal.de
- Mark G. Sobell: A practical guide to the UNIX system. Pearson; 3 edition (1994). 978-0805375657
- Sarwar, Syed Mansoor; Koretsky, Robert M.: UNIX: The textbook. Available from https://ebookcentral.proquest.com/lib/ubwuppertal-ebooks/detail.action?docID=4732235
- M. Ward, G. G. Grinstein, D. Keim. Interactive Data Visualization: Foundations, Techniques, and Applications. Taylor & Francis Ltd. 2010.
|
Leistungsnachweis |
To successfully complete the course, students will be required to:
- Complete an applied individual project (40% of final grade)
- Submit appropriate documentation of the project (20% of final grade)
- Present the project at the end of the course and show the ability to answer questions from the audience (10% of final grade)
- Pass a written test (30% of final grade)
Completion of all the deliverables is mandatory. Each of them will be evaluated separately, the overall grade will be calculated based on the weights of particular deliverables. |