CSCI 125: Introduction to Computer Science and Programming II

Summer 2025 (S2), Columbia College

Lecture
Tues/Fri 16:00-17:50;
Wed 17:00-17:50
Location:
Room 340
Office Hour
Mon/Thur 14:00-16:00; Room 544
Contact Me on Teams
Other times will require appointments
Midterm
Week 8, Friday
Final
TBA
Zoom link will be posted on CAMS (Student Portal).

Introduction

A rigorous introduction to computing science and computer programming, suitable for students who already have some background in computing science and programming. Students will learn the fundamental concepts of computing science and develop basic skills in software development.

Topics include: history of computing science; review of elementary programming; data types and control structures; fundamental algorithms; abstract data types; elementary data structures; basic object-oriented programming and software design; elements of empirical and theoretical algorithmic; computability and complexity; design, specification and program correctness.

Practicing with Online Judge

In order to complete lab assignments and part of the online test, you must register for an account at my Online Judge platform: https://jetic.org/oj/

During lecture hours, new problems (prefix csci125p) will also be added to the OJ for you to practice your programming skills. This is part of your in-class lab hours. If you have individual requests I’d be happy to accommodate as best as I could, but please understand that coding requires a lot of practice.

If you have questions with your code, please provide me your Submission ID on the OJ so I can take a closer look.

I will post more detailed instructions as we progress.

Textbook and References

  • Problem Solving with C++, 10/E, Walter Savitch, ISBN-10: 0133591743 • ISBN- 13: 9780133591743 ©2018 Addison-Wesley

You can find a copy of this book in the Library.

Resources (Handouts)

Curriculum and Slides

The slides will be uploaded after class. I may also introduce modifications to the curriculum itself as we progress.

Please note that you should NEVER use these slides as your only study material. It should be accompanied by either your notes or the actual textbook.

It is recommended that you have a Linux environment (I recommend Ubuntu) with access to Bash and command line. macOS is also acceptable.

For use on College Computers, VS Code or VS Studio are acceptable.

Week 1
12.05
Ch 0 Introduction to CS and Programming (LS0);
Ch 0 Environment setup (LS1)
Lab 0 out;
Week 2
29.05
Ch 0 Environment setup (LS2);
Ch 1 Your first C/C++ programme (LS3)
Lab 0 due;
Week 3
26.05
Ch 1 Your first C/C++ programme (LS4);
Ch 2 Arrays (LS5)
Lab 1 out;
Week 4
02.06
Ch 3 Pointer & Debugging with LLDB (LS6)
Ch 4 Functions (LS7)
Lab 1 due;
Week 5
09.06
Ch 4 Functions (LS8, LS9)Lab 2 out;
Week 6
16.06
Ch 5 Characters and Strings (LS10, LS11)Lab 2 due;
Week 7
23.06
Review for Midterm (LS12)Midterm
Week 8
30.06
Ch 6 Class, Object Oriented Programming (LS13, LS14)Lab 3 out;
Week 9
07.07
Ch 6 Class, Object Oriented Programming (LS15, LS16)Lab 3 due;
Week 10
14.07
Ch 7 Data Structure (LS17, LS18)
Week 11
21.07
Ch 7 Data Structure (LS19, LS20)Lab 4 out
Week 12
28.07
PracticesLab 4 due;
Week 13
04.08
ReviewOJ Practices due;
Week 14
11.08
Final

Grading

Quiz10%
Labs30%
Midterm20%
Final40%

The general policy is that you will not lose marks for making mistakes in Handwritten Assignments, as long as you tried to understand the subject to the best of your ability. However, mistakes in Labs will result in deduction of marks.

Quizzes are modelled closely after the assignments, if you nailed the assignments you should be fine.

Minimum Grades to Pass Policy

Students must achieve 50% in Labs, 50% in the Final exam, and 50% in overall grade to pass the course.

Cheating and Plagiarism Policy

I expect all students to uphold the principle of academic honesty. Cheating and plagiarism (presenting another person’s words or ideas as one’s own) are not acceptable behaviour at anywhere. Depending on the severity of the offence such acts can result in a grade of zero on the test or assignment, a failing grade (F) in the course, or expulsion. In all cases, the circumstances and the penalty are recorded in the student’s file.

Starting from 2024, all submissions will be checked against previous submissions for duplication. If caught, you will be charged.

Policy for Late/Re-submission

If you are affected by personal issues such as sickness, injuries, the passing of a relative, or other traumatising experiences, you should contact an advisor and seek professional help, and I will try to accommodate as much as possible. Otherwise, late submissions and resubmission are NOT allowed beyond the original due.

Policy for Plagiarism in Labs

Do not share your files with others. Do not let others copy or mimic your files. You may take inspiration, but any work you do must be original. Failure to comply will result in plagiarism charges.

de_DE