CMSC 201

Lecturers, Class Times and Locations


All Discussion Sections meet in ENG 104 A, ENG 104, or ENG 021. Please double check!! You MUST attend the discussion section you are registered for in order to receive credit for the labs.


We recommended the Python Programming: An Introduction to Computer Science textbook, or the online book Think Python: How to Think Like a Computer Scientist.

Course Description

An introduction to computer science through problem solving and computer programming. Programming techniques covered by this course include modularity, abstraction, top-down design, specifications, documentation, debugging, and testing. Selected topics in computer science are introduced through programming projects in the python language running under a UNIX operating system. The core material for this course includes functions, strings, loops, and files. No prior programming experince is required.


The objectives of this course are:

  • To develop problem-solving skills, especially in the use of computers to solve real-world problems.
  • To learn basic programming skills, especially software development using the Python language.
  • To learn how to use UMBC's UNIX system to create, test and execute Python programs.
  • To prepare for further study in Computer Science.


8 Homeworks 32% (4% each)
2 Projects 16% (8% each)
Surveys 2%
12 Labs 10% (1% each, lowest 2 labs are dropped)
2 Exams Midterm: 15%, Final: 25%

Make-ups for exams are given under only the most dire circumstances (almost never). Your final letter grade may be curved above the standard formula:

0 <= F < 60
60 <= D < 70
70 <= C < 80
80 <= B < 90
90 <= A <= 100

Your grade is based on timely work accomplished during the semester. Incomplete grades will only be given for medical illness or other such dire circumstances.


The critical programming skills cannot be learned simply by attending the lectures. You should budget enough time to work on the assignments as well. Assignments are due at 5:00 pm on the due date. Projects will be graded according to four parts: correctness, design, style, and documentation. NO LATE WORK WILL BE ACCEPTED. For details see Assignment Submission and Grading Policy.

Academic Integrity

All assignments must be completed by your own individual effort. You should never have a copy of someone else's assignment either on paper or electronically under any circumstance. Also, you should never give a copy of your assignment, either on paper or electronically, to another student. This also means that you cannot "work" on the assignment together. Cases of academic dishonesty will be dealt with severely.

If you need help with your assignment, see your instructor, any of the TAs , the Computer Science Help Center or tutors provided by the Learning Resource Center.

The following is a non-exhaustive list of violations of academic integrity:

  • Emailing code in whole or in part
  • Instant Messaging code in whole or in part
  • Posting or obtaining code in whole or in part on the web including but not limited to forums, newsgroups, etc...
  • Not taking the appropriate measures to protect your source code, including:
    • Placing your code in a public directory
    • Failing to lock your screen when away from your computer
    • Allowing someone to copy code from your monitor
    • Giving your password to another student

The following things are not cheating:

  • Asking a fellow student how they approached a problem
  • Brainstorming with fellow students
  • Helping a fellow student locate a bug in their code
  • Getting help with your code from a help center tutor or a TA
Please note that none of these things listed above will lead to similar looking code; we will be able to tell the difference.

We will be using special software to check for cheating. The software is quite sophisticated and has "surprised" some students in the past. We will, of course, not release the details of the internal workings of this cheat-checking software, but you are forewarned that there is no difficulty in comparing every pair of projects --- even for projects submitted to other sections of this course.

Your homeworks/projects will be checked for similarities with all other student projects. If your homework/project is found to be "substantially similar" to that of another student, both you and the other student will receive a grade of 0 for that homework/project AND a reduction of one full letter grade in your final course grade. Furthermore, all parties concerned will have their prior homeworks/projects checked for cheating. A second incident will result in a grade of 'F' for the semester.

Any act of dishonesty may be reported to the University's Academic Conduct Committee for further action. Egregious cases of cheating will be written up as a "more serious" infraction. In this case, you will not be allowed to drop the course. Also, a "more serious" infraction would appear as a permanent part of your student record and would be seen by potential employers when they ask for an official copy of your transcript.

Lectures and Readings

You are expected to attend all lectures and your weekly discussion session. The lab assignments are to be done during your weekly discussion session, so attendance is mandatory. You are responsible for all material covered in the lecture, even if they are not in the course web pages. You are responsible for the material in the course web pages, even if they are not covered during lecture.

TAs' Office Hours

TAs hold their regularly scheduled office hours in ITE 240, which is a lab shared by several CS courses. That lab has a set of rules that need to be followed. If you schedule an appointment to see your TA outside of their normal hours, the appointment will take place in ITE 334, their shared office.

Reviewing Homework/Project Grades

If you wish to have a grade reviewed please:

  1. Do not email your TA or Instructor.
  2. Build your case BEFORE you visit a staff member.
  3. Visit your TA to review the grade with your evidence during office hours. (Visit where I can find help?) TAs DO NOT have access to the gradebook. They will email the instructor with a grade change report.


In general, the exams will be closed-book and closed-notes. The final exam will be comprehensive and cover the material from the entire course. You must take the exam from the same section you were assigned!!!

Thursday, 22-Jan-2015 15:44:44 EST