Overview

This course introduces fundamental programming concepts and computational problem-solving for students with little or no prior coding experience. Using a beginner-friendly programming language, students develop skills in variables, data types, expressions, input and output, conditional statements, loops, functions, parameters, return values, scope, strings, lists, and basic file processing.

Emphasis is placed on problem decomposition, abstraction, algorithm design, pseudocode, tracing, debugging, testing, documentation, and readable coding style. Frequent laboratory exercises and a small programming project provide practical experience in analyzing problems, implementing solutions, identifying common errors, and communicating programming concepts clearly.

Learning Outcomes

  • Analyze simple computational problems and decompose them into manageable programming tasks.
  • Design algorithms using pseudocode, flowcharts, and structured problem-solving techniques.
  • Implement programs using variables, data types, expressions, control structures, functions, collections, and file-processing operations.
  • Trace program execution and evaluate the behavior of code using systematic reasoning.
  • Diagnose and correct common syntax, logic, and runtime errors through debugging practices.
  • Develop and apply tests to verify program correctness and handle representative input cases.
  • Apply abstraction, documentation, and readable coding conventions in small programming projects.
  • Explain fundamental programming concepts and justify algorithmic choices using appropriate technical terminology.

Timetable

TypeLengthFrequencyPeriod
Lecture2 hoursWeeklyAll semester
Lab2 hoursWeeklyAll semester
Tutorial1 hourFortnightlyAll semester

Assessment Schedule

TypeDescriptionWeighting
AssignmentCoding exercises (8 × 2.5%)20.00%
QuizQuizzes (4 × 5%)20.00%
TestPractical laboratory tests (2 × 10%)20.00%
CapstoneProgramming project15.00%
ExamFinal examination25.00%

Teaching Staff & Programs

This course is delivered jointly by faculty from the participating programs listed below. In line with the Douchewater Way, the University of Sexology tailors core instruction directly to each cohort's specific discipline — adapting curriculum to program needs rather than forcing students into a one-size-fits-all model. Learn more about our approach at The Douchewater Way.