0% found this document useful (0 votes)
1 views

CS101 2023 Spring Syllabus

CS101 is an introductory programming course at KAIST focusing on Python and computational thinking, taught by Prof. Min H. Kim. The course includes online lectures, weekly lab sessions, and assignments, with grading based on both practice and theory points. A 'Pass Exam' is available for students with prior programming knowledge, and strict policies against cheating are enforced.

Uploaded by

linguistduolingo
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views

CS101 2023 Spring Syllabus

CS101 is an introductory programming course at KAIST focusing on Python and computational thinking, taught by Prof. Min H. Kim. The course includes online lectures, weekly lab sessions, and assignments, with grading based on both practice and theory points. A 'Pass Exam' is available for students with prior programming knowledge, and strict policies against cheating are enforced.

Uploaded by

linguistduolingo
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

CS101 - Introduction to Programming

2023 Spring Syllabus


Instructor
Prof. Min H. Kim, KAIST School of Computing.

Admin. Staff
For all admin. matters for the School of Computing office, please contact Hoi-sung Roh, hs-
[email protected], 042-350-3505, Bldg. E3-1, Rm. 1402

Teaching Assistants
7-8 TAs will be assigned to each section. If you have any inquiries regarding CS101, please feel free
to contact the Head TA directly with the contact email below:
- Head TA: KyeongDeok Baek – [email protected]

Course Objective
The objective of CS101 is to teach programming skills and computational thinking. The first is important
because programming is needed in all areas of science and engineering, although very different
programming languages are used. The second is perhaps even more important, as it influences how
you go about solving a problem. Fifty years ago, the solution to a problem in mathematics or engineering
was often a formula. Today, it is usually an algorithm.

Course Structure
Starting from spring 2010, CS101 uses the programming language, Python, a language that was
designed to be easy to learn. Python is used by many universities world-wide for teaching introductory
programming. It is free, open-source, and multi-platform.

Python is not a toy. Python is the basis for much of the programming at Google (for instance, Python is
the original and main framework for the Google App Engine platform). Python is used intensively in
numerical computations, for instance at NASA. The numerical Python library supports vectorization and
is widely used in scientific computation. Python is also the language of choice for writing user interfaces
for applications on high-end Nokia phones. Large portions of games (such as Civilization IV) are written
in Python. Python is becoming the language of choice in mathematics, used for instance by graph
algorithm libraries, or the open-source mathematics software system Sage (an open-source competitor
to Maple or Mathematica).

Lectures. CS101 consists of about 500 students. All sections take online lectures via Zoom together,
which is once a week for 60~120 minutes. The recoded lecture video will be available as streaming
through our online lab practice website, Elice (https://kaist.elice.io/).
In addition, the Korean version of the CS101 lectures is available in KOOC (KAIST Massive Open
Online Courses): https://kooc.kaist.ac.kr/cs101. The additional lectures will cover the same contents as
the English live version of CS101 lectures. These lectures would be helpful for those who have
difficulties in taking the English lectures.

Lab Sessions. Each section meets once a week for a three-hour lab session supervised by a head TA
(a Ph.D. student), with some helper TA's around (undergraduate and master students).
Students need to attend the lab session every week. One of the tasks done during the lab has to be
marked off by a TA, so that we know that you were there and did your best.
Some of the lab sessions will introduce students how to do pair programming.

Homework. There will also be four take-home assignments where you have to program slightly more
complex tasks.

Course Website. The course website (https://cs101.kaist.ac.kr/) contains the syllabus, lecture notes,
and slides for CS101, and links to all the software you need in the labs (or to do the lab tasks on your
own computer). All other information, such as professor, TAs, lecture and lab times, homework
assignments, exams, and the bulletin boards can be found on the course website as well.

Grading
CS101 grading consists of two parts: practice and theory.

Practice points are collected as follows:


● 100 points for lecture attendance
● 100 points for lab work
● 200 points for homework
Students need to collect at least 340 practice points. Only the students who scored 340~400 practice
points are entitled to be graded. Students who did not earn 340 practice points receive a fail grade

Theory points are collected as follows:


● Homework - 10%
● Midterm exam - 40%
● Final exam - 50%

The final score for CS101 is determined entirely by the theory points.
You may get F if you failed to get enough theory points.
The practice points over 340 are ONLY qualification for grading.

Cheating is strongly forbidden. Cheating on homework or exams will give an F. Copier and source
provider will obviously get F grade. Note that if you look at other’s HW program code, it will be
considered as cheating.

Pass exam
In the first week of the semester, we offer a "Pass Exam", which students who have already learnt
programming can take to fulfill the CS101 requirement.

The pass exam consists of a 90 minutes written exam, followed by a 90 minutes programming exam.
The written exam is closed book, and covers programming in Python as taught in CS101, but without
the cs1robots, cs1media, and cs1graphics modules.

The programming exam is open book (only printed material). You will use a computer in the lab room,
but will have access only to the PyCharm or IDE environment (no internet access).
If you pass the exam with a B- or better, you can choose to accept the score as your CS101 score, or
to give up the score and take the CS101 course.

Repeating students (course retake policy)


Students who have already taken advanced courses involving programming, and all students who are
majoring in the following departments cannot retake CS101 if they have already passed CS101: School
of Electrical Engineering, School of Computing, Information & Communications Engineering, and
Industrial & Systems Engineering).

All repeating students cannot receive a grade better than A- by the KAIST policy (and this applies even
to students who entered KAIST before 2007).

Teaching Materials
CS101 uses the following materials:
- Practical Programming: An Introduction to Computer Science Using Python 3.6 (3rd
Edition) by Paul Gries, Jennifer Campbell, and Jason Montojo, Pragmatic Bookshelf,
2017, ISBN 978-1680502688
- A Korean translation is also available (ISBN 978-8960771338)
- Robot lecture notes Lecture notes to be used together with cs1robots.py.
- Photo processing lecture notes Lecture notes to be used with cs1media.py.
- Tutorial for cs1graphics (The original is http://www.cs1graphics.org/.)
The slides used in the lectures will be available online, and there will be slides for every lab session.

Software
In the lecture, we will make use of the following freely available software: Python 3, PyCharm IDE,
Python Imaging Library (Pillow), cs1graphics.py, cs1robots.py, and cs1media.py.

In the lab practice, we employ an online programming education platform, Elice (https://kaist.elice.io/)
to provide lab sessions and other teaching materials (such as lecture slides and recorded course
videos).

Lecture and Lab Schedule


Lecture Date & Time: Every Tuesday 10:30AM-12:30PM
Lecture Rooms: ZOOM
Lab. dates, times & lecture rooms (tentative schedule1):
- Creative Bldg. 307: A, C, D, E, F, G, H
- Creative Bldg. 308: B, I, J
- (or ZOOM)
(Tentative) MON TUE WED THU FRI

9:00~12:00 D&E F&G C&J

13:00~16:00 A&B H&I

Additional announcements may be posted on the course webpage (http://cs101.kaist.ac.kr/) before


the semester begins.

1
It could be changed depending on the COVID anti-epidemic measures.

You might also like