Chapter 1: Introduction - VinGok/Python-Basics GitHub Wiki

Welcome to Python Basics Course - Winter 2018


Course Structure

1. Class:

  • 1.5 hours of teaching + 0.5 hours of coding + 10 minutes' break
  • 80% attendance for gaining eligibility to take up examination (with an exception though)

2. Homework:

  • 2-3 programming homeworks per week; 2 weeks of deadline for each week's tasks
  • All homeworks (except challenge) should be mandatorily submitted.
  • Homework submissions carry credits, and count significantly towards final grade (at least 25%). Three attempts for submission; subsequent submissions will be graded on a lower scale - first on 10, second on 8, and last on 5.
  • Discussions allowed, but we are intolerant towards malpractice.
  • Submissions through elearning.jcu.cz.
  • Challenge Assignment - To be attempted individually; successful candidates will get an exemption from attending classes and submitting other homeworks; can appear directly for the examination!
  • No exceptions concerning extensions of deadlines shall be entertained.

3. Reference material - Programming in Python 3 by Mark Summerfield

4. Examination:

  • Spread over 2 parts - objective and programming
  • Objective - no access to books and internet; Programming - access to notes, textbooks, but not internet
  • More details as we approach the exam dates

Login Credentials

Desktop Machine:

  • Username: your_email_id_pre@
  • Password: your_password

Virtual Machine:

  • IP address: 160.217.213.147
  • Username: your_email_id_pre@
  • Password: 123456

Changing password - After first login, open Application--> System Tools --> MATE Terminal; type passwd then feed current and new passwords.


Programming language: A tool developed for interacting with a computer (desktop, laptop, or smartphone) for performing specific tasks.
Program: Set of commands used to perform the task. It is made up of configuration (setup) and logic (action).

Programming languages can be either compilation-based or interpretation-based.

  • Compilation-based programs: Program --> Assembly language --> Binary code --> Execution.
    Entire program is compiled at once before execution.
    Specific to operating system, architecture, etc.
    Overall program execution is fast.
    C based languages, Java, etc.
  • Interpretation-based programs: Program --> Binary code --> Execution
    Carried out command-by-command.
    Independent of operating system, architecture, etc.
    Overall program execution is slow.
    Python, Javascript, etc.

What is Python and why learn it?

Python is a dominantly used programming language that has

  • user-friendly syntax, English-like commands

Command to display the text Hello World in different programming languages:
C++:         std::cout << "Hello World" << endl;
Java:          System.out.println("Hello World!");
Python:     print("Hello World")

  • powerful syntax allowing the programmer to focus more on logic and less on optimization
  • object-oriented programming capability
  • rich, extensive set of libraries for networking, multimedia, scientific visualizations
  • robust to operating systems
  • free and open source

One of the most widely used tool in modern day technology. Applications using Python include YouTube, Google, Quora, Dropbox, Instagram, among others.


Requirements for Python programming

  • Interpreter - Python 3.5
  • Editor - IDLE

Interactive mode: Application--> Programming --> IDLE. To execute, type a command and press enter.
Script mode: Application--> Programming --> IDLE --> File--> New File --> Save it with .py extension. To execute, type a command and press F5.


Examination Structure:

Part 1 - Objective type

  • mostly analyzing code snippets to determine output
  • 15 questions, 35 marks, 75 minutes
  • no access to books, internet, or any other materials
  • obtain passing score (roughly 40%) or higher to qualify for Part 2
  • score also determines the level of your Part 2 question

Part 2 - Programming

  • two levels (a) basic (40% <= score < 70% in Part 1), (b) advanced (score > 70% in Part 1)
  • each level has a programming task
  • deadline of 3 hrs (180 minutes) from the start
  • you can access books, materials copied in a memory drive; no internet
  • test your codes for all boundary conditions; penalty if we identify flaws in your program

Grading Scheme

  • total score will be evaluated on a scale of 100
  • HWs carry a weightage of 25%
  • the score of Part 1 will be scaled to 25
  • basic and advanced levels of Part 2 will be evaluated on a scale of 40 and 50, respectively
  • total score is the sum of scores from these three components (HW + Part 1 + Part 2)
Score Grade
90-100 A
77-89 B
64-76 C
52-63 D
40-51 E
< 40 F

Feel free to contact us for anything related to the course at [email protected], [email protected]