Bioinfo Lab

Bioinformatics Laboratory at BiUH.

Core Values: Respect, Reflection, Communication, Commitment.

Main Page   |   Util & Src   |   Contact


Loading......

Password


Syllabus


Basic Information

Course Name: Programming I (Python)

Lecturer: Prof Dr ZHANG Feng



Learning Outcomes

Upon completion of this course, students will be able to:

  1. Work with the basic Python environment (in Linux) and implement simple scripts using fundamental syntax.
  2. Apply primitive and composite data types and perform type conversion.
  3. Control program execution flow by means of conditional statements and loops.
  4. Define functions and make use of modules and packages.
  5. Carry out file‑handling operations including opening, closing, reading, writing and basic file management.
  6. Handle exceptions using try‑except blocks, recognise common built‑in exceptions, manually raise exceptions, and enhance overall program reliability.



Reading / Materials

Course Slides: https://www.bioinfo-lab.com/courses/python_2609/

For learning Python, it is recommended to use the official Python tutorial https://docs.python.org/3/tutorial/index.html. As the official tutorial is fairly comprehensive, you may follow the main learning path via the course slides if you wish to stay focused.

Python Proficiency Levels:

  • Beginner (required): Complete two key components of the Programming 1 course: control flow and functions & modules.
  • Introductory: Complete all components of the Programming 1 course, and understand hands‑on practice and final project content.
  • Introductory‑to‑Intermediate: Able to write or modify code for hands‑on practice and the final project independently based on given problems or prompts.
  • Intermediate: Complete the Object‑Oriented Programming section of the Programming 2 course.
  • Intermediate‑to‑Advanced: Finish all projects in the Programming 2 course; understand the code and capable of writing or modifying it independently.
  • Advanced: Complete the official Python Tutorial (https://docs.python.org/3/tutorial/index.html)



Course Content

  • w01 Linux Basics
  • w02 Python Basics
  • w03 Phase Test I + SSS (2hrs)
  • w04 Control Flow
  • w05 Function Module
  • w06 Phase Test II + SSS (2hrs)
  • w07 Data Structure
  • w08 File Operations
  • w09 SSS (4hrs)
  • w10 Phase Test III + SSS (2hrs)
  • w11 Exception Handling
  • w12 Library & Multi-Tasking
  • w13 Phase Test IV + SSS (2hrs)
  • w14 Presentation Guidance+ SSS (3hrs)
  • w15 Final Presentation

Lecture/Seminar + Lab + Phase Test + Presentation = 45hrs

SSS (Supervised Self Study) = 15hrs



Date



Weekly Plan

Non-Phase-Test Weeks:

  1. Lecture/Seminar: 90m (2hrs)
  2. Lab: 90m (2hrs)

Phase-Test Weeks:

  1. Phase Test: 90m (2hrs)
  2. SSS: 90m (2hrs)



Final Grade

We use a quantile-based evaluation method to calculate the final grade (ranging from 0 to 100), which consists of three components:

  1. General Performance (attendance & weekly reports)
  2. Final Project (final presentation + slides)
  3. Total Test Score (phase tests, the highest 3 out of 4 times)

For each component, a student’s quantile within the entire cohort is calculated. Quantiles are calculated as percentiles (0 = lowest, 1.0 = highest) within the entire cohort. The Average Quantile (AQ) is then computed across all three components. If a student’s AQ is below 0.2, they will receive a “FAIL” grade. In addition, if the AQ is lower than 0.2 but the Actual Score (AS) on the Total Test Score exceeds passing line, the final grade will be marked as 60 (passed with a low final grade).

if AQ ≥ 0.2:
    Passed, Final Grade = (AQ – 0.2) / (AQmax – 0.2) × 40 + 60
else if AQ < 0.2 and Total Test Score ≥ Passing Line:
    Passed, Final Grade = 60
else if AQ < 0.2 and Total Test Score < Passing Line:
    Failed, Final Grade = AQ / 0.2 × 60

# Note: "AQmax" refers to the actual highest AQ value among all students in the cohort.



Academic integrity

  • No AI or cheating in Phase Tests !

  • Outside of Phase Tests, please make full use of LLM and AI tools !



Retake Policy

NO RESIT EXAM !!! NO FREE RETAKE OPPORTUNITY !!!

Students who fail this course have to retake this course.

The retake assessment consists of Phase Tests and Multiple Tasks.

The same quantile‑based grading rules apply for retake candidates.

Students must register for the retake (Academic Affairs Office, AAO) according to university administrative deadlines.



Office Hour

  • Office Hour: Wednesday, 12:00-20:00 (please schedule a time with me by email at least one day in advance)

  • Office Room: Teaching Building B526

  • Email: feng.zhang@hibiuh.edu.cn

  • BiUH DT Email: dt@hibiuh.edu.cn