CMS 1 + 2 Syllabus

Fall 2024

Gerald Senarclens de Grancy

Course Information

Office hours
On appointment
Contact
cms@senarclens.eu
Course calendar & location
http://find-santa.eu/calendar.xhtml
Course homepage
https://study.find-santa.eu/cms/
Prerequisites
Formally: none
Solid understanding of computer software in general
Capability to read English documentation
Administrative rights to a laptop to install tools will make life easier

Textbooks

Primary

Further Reading

Course Content

Introduction to using computer programming for information retrieval and managerial decision making.

Students will get to know a state of the art high level programming language that is easy to learn. To facilitate this, some valuable tools will be presented.

The course uses a step by step approach. It starts with basic concepts while using interesting homework tasks to deepen their understanding. Computational Management Science 2 offers dedicated lab sessions to help with solving the homework tasks.

The intent is to make the course more fun than a "traditional" course that covers computer programming. You should learn to code what you want - not to code what you can code. The focus won't be programming language features, but how to get your work done in a programming language.

Objectives

Upon completing the course students will

  • be confident with basic computer programming.
  • have acquired skills in implementing basic algorithms.
  • know syntax and semantics of procedural programming: assignment, sequential operations, iteration, conditionals, functions.
  • be comfortable using basic tools that help programmers.
  • be able to solve simple managerial problems that cannot be solved with more common tools.
  • be comfortable using version control to keep track of changes in your code.
  • be able to read other people's source code.
  • be able to communicate with techies on a fairly technical level.
  • know enough to independently acquire additional knowledge in the field.

Who this Course is for

Students who are willing to work hard to:

  • achieve practical programming skills
  • become more creative, think more precisely
  • be better prepared for the job market
  • learn how to solve tasks efficiently

Many things YOU need to get done have to be partly/ widely self-taught.

"There is no substitute for knowing your application area, your programming language, and the relevant programming technique." – Bjarne Stroustrup

Technical know how is crucial for successful IT project managers in order to communicate with their teams.

Who should not attend this Course

  • Students who just want a 'cheap' positive grade. (They will require less effort elsewhere; this module has 4 + 4 ECTS credits. This corresponds to an average of 200 hours of work.)
  • Cheaters.

Workflow

Required reading before every CMS 1 class

CMS 1
deepen understanding of pre-readings

Finish homework before every CMS 2 class

CMS 2
present homework and explain solutions
get assistance while working on assignments during remaining session

Assessment - CMS 1

No single knock-out criterion (except plagiarism)

  • Final Exam: 48 points
  • Term Project: 48 points
    • Source code in English
    • Teams of your choice (2 to 4 students)
    • 25% specification, 40% functionality, 25% tests, and 10% documentation
    • Announce teams and projects by December 2nd
  • Participation: max. 1 point per class

Oral Defense: ~15 minutes per student (CMS1+2 together)

Assessment - CMS 2

No single knock-out criterion (except plagiarism)

  • 11 Homework Assignments: 99 points
    • Source code in English
    • Assignments available on course homepage
    • Posted two sessions before due dates
    • The first two assignments will be done individually
    • Subsequent assignments are team-based (pair programming)
    • Teams will be randomly chosen for each assignment
    • Assignments are checked for plagiarism
    • Max. 9 points per assignment
  • Participation: 1 point per class

Oral Defense: ~15 minutes per student (CMS1+2 together)

Grading

PointsGrade
>901
>80-902
>65-803
>50-654

The grading may be subject to a curve.
For example, if you received 87% then you will at least get a 2, but may receive a higher grade based on the curve.

Academic Honesty

Cheating and plagiarism will not be tolerated

Copying a single problem in a homework assignment will cause the whole assignment not to be counted.
Repeated academic misconduct will lead to a negative grade.

Programming has an - unfair - reputation as a lonely activity. Most people work better and learn faster when they are part of a group with a common aim. Learning together and discussing problems with friends is not cheating! It is the most efficient - as well as most pleasant - way of making progress.

Bjarne Stroustrup

Questions
and feedback...