Administration and setup#

Welcome to TAU’s Hybrid Computer Science and Programming Course!#

  • This is a programming course, in which we also touch in computer science conecpts

  • A lot of hands-on experience

  • No other way to learn how to program

  • The course is taught in a hybrid mode

    • a mix of self-learning online materials and in-person guidance

So what does a hybrid means in practice?#

  • Lectures

    • Flipped classroom

    • Exam-like questions

  • Recitations

    • Practical sessions in a standard classroom

    • Assignment-like questions

Bring your own laptop the class - highly recommended!

  • Lab hours

    • Extra help with the assignments

    • Technical support (Anaconda, Pycharm, etc.)

    • Use it

  • Office hours

    • Extra help with the course material

The course staff is here to support you

Resources:#

  • Course website

  • Homework submission guidelines

  • Lectures and recitations - Jupyter book

Course website: http://courses.cs.tau.ac.il/pyProg/pyprog4chem/2526b/#

  • Administration (Course staff contact info, office hours lab hours etc.)

  • Assignment instructions

  • Submission guidelines

  • Installation guides

  • External resources

  • Other useful link

Moodle: https://moodle.tau.ac.il/course/view.php?id=351110001#

  • HW submission and grades

  • Announcements

  • Topics learned in each week

  • Assignment forums

  • Course material forums

  • Forums are for student discussions regarding topics related to the forum.

  • Course staff may also participate in the forums but will not respond to every post

Jupyter book#

  • A website platform that wrapping up our course material

    • Contains texts, videos, code examples, quizzes and more

  • Lectures book

  • Recitations book

  • Let’s try it out together

Assignments#

Guidelines#

  • Coding exercises

  • A single Python file per assignment

  • Submission via Moodle

  • 5 exercises

  • Must pass at least 4 of 5 assignments to pass the course.

  • Average of best 4 exercises is 25% of the final grade

  • 5 grace days

  • Submission in singles

  • No cheating!

  • Full list of assignment guidelines in the course website under the Assignments tab

Where can I work?#

  • Anywhere from your own laptops

  • Computer labs - with the course lab instructor!

  • Time and location appear in the course website

    • Back-up with email / disk-on-key/ dropbox / etc. !

Lab instructors#

  • Two course staff members

  • present in the lab (times and locations are available in the course website)

  • helps with technical issues (enviroment installations, notebooks uploading your HW etc.)

  • helps with homework assignments

  • use it!!

Environment settings - Anaconda#

In this course we use Python 3.11.x

Do not work with Python 2.7/3.6/3.12 etc.

We will use Python through Anaconda

  • A bundle of programs and tools installed together

  • Simple installation process

  • Helpful in order to manually install numerous tool

  • Your code must run under Anaconda configurations with Python 3.11

  • Here you can find the official guide for installing Anaconda

Code editor - Pycharm#

You write code in a Code editor (Also called intergrated development environment, or IDE)

  • A program in which you can write code

  • Contains other functionalities that help you write your code correctly and fast

  • In this course, the staff denomstrate the support the Pycharm IDE, but you can use another one, if you prefer

Pycharm user manuals#

  • Here you can find user guide for installing and using Pycharm

    • In Hebrew with screeshots

    • Note that the screens may look slightly different across different PyCharm versions.

  • Importantly, recent versions of Pycharm uses AI assistant, which should be disabled

    • This assistant might introduce code that do not comply with comply with the assignment guidelines

    • You can disable it by following this guide

Live demonstration of Pycharm#

Pycharm’s Python console#

  • Individual statements

  • Convenient for testing short code snippets

Pycharm file editor#

  • Writing many code lines

  • Execution of complete programs

  • Helpful tools for finding errors in the code, or debugging

Download, setup and submission of assignments#

  • Assigment are provided as downloadable zip file from the course website

  • The zip contains:

    • A PDF with the assignment instructions

    • A Python file (also called “code skeleton”)

    • Possibly other auxiliary files (relevant for later assignments)

  • Extract the zip file

  • Place all the extracted files into the PyCharm project folder of the assignment.

  • Now you can edit the Python/code skeletion file from the Pycharm

  • After you finish the assignment, upload your Python file solution to the assignment box in the Moodle

    • Note that the solution should be a single Python file, not PDF/Word

    • Your python file should be able to be executed without any errors in Pycharm

You can also use this tutorial for downloading assignment and upload solution

Need some extra help? Ask our course staff!#

The exam#

  • Final grade is composed out of homework and final exam

  • You must pass the exam to pass the course

  • Written “pen-and-paper” exam

  • Writing code and spotting errors in code

  • Includes all course material:

    • Lectures, recitations, and assignments

That’s it for now… 😳#