Skip to content

ICCS101: Introduction to Programming

Term III/2024–25

Basic Information

Welcome to Intro to Programming! In this course, you will learn about Python programming and problem solving. More importantly, you will begin to think in a computer scientist's mindset.

Thinking through the computational lens essentially entails (1) formulating problems precisely, (2) thinking creatively about solutions, and (3) expressing the solutions clearly/accurately in a manner that computers can understand.

Course Objectives and Goals

At the completion of this course, students will be able to write small to medium-sized programs in Python with ease. In particular, the students will

  • understand the control flow of imperative programs written in Python or similar languages;
  • be able to use and reason about conditionals, iterations, functions, and recursion in their own code; and
  • be able to take advantage of various collections (e.g., list, dictionary, etc.), which are readily available in modern programming languages.

Academic Integrity

Students are expected to maintain the highest standards of academic integrity. Academic dishonesty will not be tolerated and will be reported to the Academic Dishonesty committee.

In this course, we interpret collaboration very liberally. You may work with other students. However, each student must write up and hand in his or her assignment separately. Let us repeat: you need to write your own code. You must not look at or copy someone else's code. The fact that you can recreate the solution from memory is taken as proof that you actually understood it, and you may actually be interviewed about your answers.

AI Policy

In this course, we adhere to MUIC's guidelines regarding the use of AI in assessments. The permitted level of AI usage for each activity is specified and described in the table below.

  1. The AI Assessment Scale (AIAS)
Level Description
1 No AI: The assessment is completed entirely without AI assistance in a controlled environment. Students rely solely on their existing knowledge, understanding, and skills.
2 AI Planning: AI is used for pre-task activities like brainstorming, outlining, and initial research. The focus is on using AI effectively for planning, synthesis, and ideation, while students independently refine and develop ideas.
3 AI Collaboration: AI is used to assist in completing tasks, including idea generation, drafting, feedback, and refinement. Students critically evaluate and modify AI outputs to demonstrate understanding.
4 Full AI: AI can be extensively used to complete tasks, with students directing AI to achieve assessment goals. Critical thinking and engagement with AI for problem-solving are essential.
5 AI Exploration: AI is employed creatively to solve tasks, generate novel insights, or explore innovative solutions.

Note:

  1. Students should not upload their work to sites that do not have clear privacy policies. University and course materials (lecture slides, teaching content, etc.) must not be uploaded to AI sites without permission.
  2. To ensure the privacy and security of all users' data, any AI system or tool used in teaching, learning, or university operations must have its learning capabilities disabled.

AIAS source:https://leonfurze.com/2024/08/28/updating-the-ai-assessment-scale/

Grading

Your final grade will be determined as follows:

  • 30% - Assignments (~ 7 sets) [AI Level 3 -- AI Collaboration]
  • 30% - Quizzes (~ 5 quizzes, i.e., every 2 weeks) [AI Level 1 -- No AI]
  • 15% - Mastery Exam I [AI Level 1 -- No AI]
  • 15% - Mastery Exam II [AI Level 1 -- No AI]
  • 5% - Online integrated exercise and other live activities [AI Level 3 -- AI Collaboration]
  • 5% - Participation

Quizzes & Mastery Exams

In place of two big exams that decide your fate, you will be tested more regularly: every 2 weeks.

Each quiz will be ~ 50-min long at the beginning of a (live) class. It is meant to test your understanding of concepts covered in class/problem sets. Therefore, if you know what's going on in class and can do the assignments yourself, you'll ease these quizzes.

The quizzes will be conducted online although no books, notes, or collaboration will be allowed.

Additionally, there will be two mastery exams. You are to attempt them on a computer. No books, notes, or consultation with any other person will be allowed.

IMPORTANTLY: Unlike on the quizzes, each problem on a mastery exam will be graded on an all-or-nothing basis. That is, you get either the perfect score or zero for that problem. However, you will know up to half of the exam ahead of time. You have one chance to attempt each mastery.

Assignments

Each of your assignments may contain both a written portion and a coding portion. For the coding portion, your work will be evaluated along four axes primarily:

  1. Scope To what extent does your code implement the features required by our specification?
  2. Correctness To what extent is your code consistent with our specifications and free of bugs? Did you write sufficient, high-quality tests?
  3. Design To what extent is your code written well (i.e., clearly, efficiently, elegantly, and/or logically)?
  4. Style To what extent is your code readable (e.g., commented and indented with variables aptly named)?

Students must include an AI Acknowledgment Statement in their submissions whenever AI tools have been used. The statement should clearly specify how AI was utilized in completing the task. Failure to include this statement where AI has been used may result in penalties and could be considered a disciplinary action.

Late Assignments

Assignments are due electronically at 11:59PM Bangkok time unless otherwise stated on the assignment. You are encouraged to hand them in well ahead of the deadline.

You are allotted FIVE (5) late days for the term at no grade penalty. At most ONE (1) late day may be used per assignment. If you have used up these late days or used more than one for a given assignment, your submission will not be graded.

Except in extraordinary circumstances (e.g., a medical emergency), no late homework will be accepted beyond the late date.