CSC 1001 Introduction to Computer Science: Programming Methodology

Course Introduction

CSC 1001 introduces the basics of computer programming using Python. Students will learn the basic elements of modern computer systems, key programming concepts, problem-solving and basic algorithm design. The key topics include the basic Python language syntax, data types, operators, flow control, defining and using function, I/O, data structure and algorithms, and the basics of object-oriented programing. This course provides a foundation to further study in advanced computing topics.

Each student will must finish four assignment, one midterm quiz and one final exam.

Scoring: 1) Four Assignments (40%), 2) midterm quiz (20%) and 3) Final exam (40%).


Course Arrangement

  1. Lectures.
    • Time: Monday, 10:30AM - 11:50AM.
    • Time: Wednesday, 10:30AM - 11:50AM.
    • Classroom: 401, Teaching Complex A.
  2. Tutorials.
    • Please check your course calendar and choose one to attend (50 min each week).
  3. Office Hours.
    • Guiliang, Liu (Instructor): Monday 2:50 PM -3:50 PM, Room 302, Teaching Complex C.

Important Notes

News.

Some news will be added to here at the student′s request.

Polices.

  1. Late Policy. A late submission should receive a 10% penalty for each date after the due. Note that the penalty can accumulate until it reaches 100% (late for 10 days). If you need special care (e.g., for surgery and other health problem), DO NOT wait until the last moment, and please let me know in advance (see my contact below).
  2. Late Drop. A late drop from the course is not encouraged. Under some very special circumstance, student may apply for a late drop, but there is no guarantee that the request can be approved. Note that the decision is made by both the instructor and the school office.
  3. Plagiarism. Plagiarism is strictly prohibited. If the instructor or TAs catch the sign of plagiarism in your project, you will receive a penalty and take the consequences, potentially including failing the course, a warning record, suspension of your study or even dismissal from the school. You must finish the coding by yourself (without any group members). DO NOT let others borrow your codes for reference. If any plagiarism happens, both the borrower and the lender receive a penalty.

Assignments

Each student must individually finish the following assignments:

  1. Coming Soon.

Course syllabus and Timetable

Topics covered will include the following (The instructor will consistently upload slides and the timeline might be changed at the needs from students):

  1. Week 1 (Sep 1, Sep 3): Lecture Introduction [Slides].
  2. Week 2 (Sep 8, Sep 10): Lecture Python Basics [Slides].
  3. Week 3 (Sep 15, Sep 17): Lecture Flow Control [Slides](Coming Soon).
  4. Week 4 (Sep 22, Sep 24): Lecture Function [Slides](Coming Soon).
  5. Week 5 (Sep 28, Sep 29): Lecture List [Slides](Coming Soon).
  6. Week 6 (Oct 13, Oct 15): Lecture List [Slides](Coming Soon).
  7. Week 7 (Oct 20, Oct 22): Midterm Review (no slides this week).
  8. Week 8 (Oct 27, Oct 29): Inheritance [Slides](Coming Soon).
  9. Week 9 (Nov 3, Nov 5): Lecture Introduction & Complexity Analysis [Slides](Coming Soon).
  10. Week 10 (Nov 10, Nov 12): Lecture Recursion & Stack [Slides](Coming Soon).
  11. Week 11 (Nov 17, Nov 19): Lecture Queue & Linked List I [Slides](Coming Soon).
  12. Week 12 (Nov 24, Nov 26): Lecture Linked List II and Tree I [Slides](Coming Soon).
  13. Week 13 (Dec 1, Dec 3): Lecture Tree II & Final Exam Review [Slides](Coming Soon).

Contact