Skip to content

CS 212 Computer Programming for Computer Science

This course gives students an intensive introduction to programming as a means of problem-solving. It also introduces them to the broader fields of computer science and information systems and shows a connection between computer programming and other disciplines. Concepts will be illustrated in the Python programming language. This course will introduce the object concept; using and declaring functions (methods). Basic software engineering concepts will also be introduced and will be used to solve problems through approximation, simulations, recursive formulas and data processing. This course also introduces students to the concept of modelling and simulation.

At the end of the course, students should be fluent in the basic concepts of modern programming using an object oriented paradigm, and should have the ability to carry out simple program development processes. They should also be able use a new approach to problem-solving to construct efficient algorithms through critical thinking. In addition, they should be able to process data and design simple simulations.

Ashesi Learning Goals Addressed in this Course:

  1. Ethics and Civic Engagement: An Ashesi student is an ethical, responsible and engaged member of his/her community. Students are expected to maintain a very high academic and ethical standard, as described in the “Expectations? section below.
  2. Critical Thinking and Quantitative Reasoning: An Ashesi student is able to apply critical thinking and quantitative reasoning to approach complex problems. This course is all about problem-solving with computers. Students will develop the ability to analyze relevant problems, design algorithms to solve them, and implement these algorithms in the Python programming language.
  3. Communication: An Ashesi student is an excellent communicator in a variety of forms. This course requires students to write short 1-paragraph responses to various assigned reading during quizzes and tests.
  4. Curious and Skilled: An Ashesi student is inquisitive and confident, has breadth of knowledge, and has attained a high level of mastery in their chosen field. This course aims to develop skilled problem-solvers and programmers who have a widening understanding of the role of computer science in our complex world.
  5. Technology Competence: An Ashesi student is an effective and flexible user of technology. This course focuses on developing a particular aspect of technology competence, namely programming.

Computing with numbers, Sequences, Functions, Conditional statements, Objects and Graphics, Decision structures, Simulation and Design, Classes, Data Collection, Object-oriented design, Algorithm design