General Information

Programming and problem solving using Python. Emphasizes the systematic development of algorithms and programs. This course has similar content with CS 1110, but has more emphasis on scientific computation.

Prerequisites

  • MATH 1110, MATH 1910, or equivalent.
  • NO programming experience is necessary.
  • Forbidden Overlap: CS1110

Topics Covered

  • Iteration, functions, arrays, strings, recursion, object-oriented programming, algorithms, and data handling and visualization.
  • Assignments are designed to build an appreciation for complexity, dimension, randomness, simulation, and the role of approximation in engineering and science.

Workload

  • weekly exercises (can be done and checked off during weekly discussions)
  • bi-weekly programming projects (group or individual, generally have three questions and recommend to find a partner)
  • exams (two prelims and a final, will have practice prelims)

General Advice

Topics covered in this class are basic for students with or without any programming background, but the exercises, projects, and prelims are mathematically challenging. Lectures are generally less useful, but practicing and understanding the lecture codes and exercises are important.

Testimonials

While CS1112 is an introductory course, it’s important to note that many students in the class come in with prior programming experience, resulting in varying skill levels within the class. If you find yourself progressing at a slower pace due to lacking previous programming exposure, there’s no need to worry, as proficiency comes with practice. The class has a team of highly skilled TA’s, all of whom are available to provide assistance. The class also have an online forum were students are free to ask questions and assist others at anytime.

If you have an interest in tackling physics, mathematics, and engineering challenges, this course is an ideal choice for you. It will equip you with the skills to utilize Python as a valuable tool for solving problems in these fields. To provide some context, some problems that we have done includes computing Riemann sums, determining rocket exhaust velocities, and identifying extreme values within functions. [Fall 2023]

The majority of the challenge in this class originates from the mathematical complexity of problems, and the problem-solving skills needed in order to write the proper code to address the question at hand. However, this often comes with sufficient experience, and the course staff generally insist on the methodology of writing code for complex problems as much as the syntax itself within Python. Yet, due to the oftentimes challenging nature of problems, office and consultation hours are frequently packed the week a project is published, which makes it hard to access useful information relating to the nature of your particular issue. Still, the general knowledge that can be taken away from the course is useful and heavily applicable to research work if undertaken. With the new restructuring of CS 1112 and 1110, 1112 is far more relevant to physics students, as it will equip you with the tools actually needed in the lab [Fall 2023]

Past Offerings

Semester Professor Median Grade Syllabus
Fall 2023 K.-Y. Daisy Fan   CS1112_FA23.pdf