An introduction to computer programming — the concepts involved in using a high-level language and the program development process. The goal of this course is proficiency in the design and implementation of programs of significant size and complexity. This course is quite demanding because of the length of the programming exercises assigned. This is the first course in the computer science major sequence.
Prerequisites: Math 140 credits or placement; or Math 130 with a B or higher in the previous semester; or permission of the instructor.
Students who successfully complete this course will be able to tackle computational challenges that they might encounter later in their careers. Students interested in computer science will be well-prepared to delve deeper into the field and students in science and engineering will be able to incorporate computation into their studies.
Name | Role | Office | Hours | |
Swami Iyer | Instructor | siyer@cs.umb.edu | M-3-201-14 | In-person: Tue Thu 9:30 AM - 10:30 AM and 2:30 PM - 3:30 PM Remote: Wed 10:00 AM - 12:00 PM (Zoom link) |
Adnan Ali | Teaching Assistant | a.lnu008@umb.edu | M-3-201-10 | Mon Wed 1:00 PM - 2:00 PM |
Jenna Kim | Teaching Assistant | jiehyun.kim001@umb.edu | M-3-201-10 | Tue Thu 2:00 PM - 3:00 PM |
Lucas Gustafson | Teaching Assistant | lucas.gustafson001@umb.edu | M-3-201-10 | Mon Wed 2:30 PM - 3:30 PM |
Shruti Varade | Teaching Assistant | s.varade001@umb.edu | M-3-201-10 | Mon Wed 10:00 AM - 11:00 AM |
Francis Alcos | Course Assistant | francis.alcos001@umb.edu | - | Remote: Wed 10:00 AM - 12:00 PM (Zoom link) |
Jongsoo Ha | Course Assistant | jongsoo.ha001@umb.edu | M-3-0731 | Mon 2:30 PM - 3:30 PM; Fri 2:00 PM - 3:00 PM |
Lorenzo Orio | Course Assistant | lorenzo.orio001@umb.edu | M-3-0731 | Wed 2:00 PM - 3:00 PM |
Prateeksha Bhojaraj | Course Assistant | p.bhojaraj001@umb.edu | M-3-0731 | Mon 9:00 AM - 10:00 AM; Wed 10:00 AM - 11:00 AM |
Yeshaswini VasudevaMurthy | Course Assistant | y.vasudevamurthy001@umb.edu | M-3-0731 | Mon 10:00 AM - 11:00 AM; Wed 9:00 AM - 10:00 AM |
Vivian Kwong | Supplemental Instruction Leader | vivian.kwong001@umb.edu | - | - |
We will have two lectures per week, during which I will present the material from the slides. I strongly recommend skimming through the material before each lecture, and reading it again thoroughly soon after.
Section | When | Where |
1-8 | Tue Thu 11:00 AM - 12:15 PM | W-1-0088 (Snowden Auditorium) |
Starting from the second week, there will be a discussion every week. The focus of the discussion for a particular week will be the current assignment. The teaching assistant (TA) will walk you through the exercise/project problems systematically. The TA will also answer any specific questions you may have about the assignment or the course material in general. You may also seek help from the course assistant (CA) who will be assisting the TA during the discussions. The discussions will be worthwhile only if you go to the sessions having read the assignment writeup thoroughly and have at least a moderate understanding of the problems involved. The TA will assume that you have done the reading in advance.
Section | When | Where | TA | CA |
1 | Tue 9:30 AM - 10:45 AM | M-1-0608 | Adnan Ali | Jongsoo Ha |
2 | Thu 9:30 AM - 10:45 AM | M-2-0208 | Jenna Kim | Jongsoo Ha |
3 | Tue 12:30 PM - 1:45 PM | M-1-0418 | Adnan Ali | Lorenzo Orio |
4 | Thu 12:30 PM - 1:45 PM | M-1-0210 | Jenna Kim | Lorenzo Orio |
5 | Tue 9:30 AM - 10:45 AM | M-2-0208 | Lucas Gustafson | Francis Alcos |
6 | Thu 9:30 AM - 10:45 AM | M-2-0205 | Shruti Varade | Francis Alcos |
7 | Tue 12:30 PM - 1:45 PM | W-1-0061 | Lucas Gustafson | Prateeksha Bhojaraj |
8 | Thu 12:30 PM - 1:45 PM | W-1-0057 | Shruti Varade | Yeshaswini VasudevaMurthy |
As part of the College of Science and Mathematics Freshman Success Program, supplemental instruction (SI) is available to all CS110 students free of charge. The SI sessions will also start from the second week. The focus of the sessions for a particular week will be the material covered in class during the previous week. The SI leader will walk you through the relevant lecture notes and solve problems. In addition, the SI leader will answer any specific questions you may have about the current exercise/project assignment, or the course material in general. The SI sessions are optional, but highly recommended, especially if you feel like you are falling behind in the course. You may attend as few or as many sessions as you like. You will receive extra-credit points for attending and participating in the sessions (see the Grading section below).
When | Where |
Tue 2:00 PM - 3:15 PM | W-2-0124 |
Thu 2:00 PM - 3:15 PM | W-2-0124 |
Thu 7:00 PM - 8:15 PM | M-2-0214 |
Sat 12:00 PM - 12:50 PM | Remote (Zoom link) |
Tutoring for this course is available through the Tutoring Programs.
Introduction to Programming in Python: An Interdisciplinary Approach by Robert Sedgewick, Kevin Wayne, and Robert Dondero
This text offers an excellent introduction to computing principles, motivating each principle by examining its impact on specific applications drawn from fields ranging from materials science to genomics to astrophysics to internet commerce.
Item | % of Final Grade |
Exercises (best 5 out of 6) | 5 |
Projects (best 5 out of 6) | 20 |
Exams (1 and 2) | 70 |
Attendance | 5 |
% Score | Grade |
[93, 100] | A |
[90, 93) | A- |
[87, 90) | B+ |
[83, 87) | B |
[80, 83) | B- |
[77, 80) | C+ |
[73, 77) | C |
[70, 73) | C- |
[67, 70) | D+ |
[63, 67) | D |
[60, 63) | D- |
[0, 60) | F |
Note:
To calculate your current course grade, visit the What’s My Grade website.
I will use iClicker to record your attendance in class. You will be able to mark yourself present, using your laptop or smartphone, during the first 15 minutes of a class. In addition, I will take paper-based attendance on three unannounced days. If I find any discrepancy in your attendance record on those days (ie, you were marked present on iClicker but absent on paper), you will receive a 0 for your overall attendance score.
The TAs will record your attendance during discussions.
I will use Piazza as the online discussion forum for the course. If you have any general questions about the projects, lectures, textbook, or other course material, the most effective way to get them resolved is by posting them on Piazza. You can expect your questions to be answered by the course staff or one of your classmates. Remember that you can post anonymously, but you are anonymous only to your classmates and not to the course staff.
I will use Gradescope to grade your projects and exams.
To write and execute Python programs in this course, you will need a laptop (Linux, Mac, or Windows) properly configured with the necessary software. Click here for setup instructions.
In order to use the computing resources of the department, and in particular, those in the CS Lab (M-3-7-0031
), you need to setup a CS account. With your CS account credentials, you can connect to our designated server (users.cs.umb.edu
) remotely using SSH. With the same credentials, you can also sign into the Linux systems in the CS Lab. In addition, you can sign into the Windows systems in the lab with the same username and an initial password abcd_1234
, which you must change the first time you sign in.
Visit CS Labs Portal to register for a portal/CS account and confirm via email. If you already have a CS account, use the same username. The next step is to sign into the portal and select your courses for the term. You will be notified via your UMB email once the course directories and your account are created.
Read the handout cs110_collaboration.pdf
.
If you are caught cheating on a project/exam and if it is your first offense, you will receive a 0 for that project/exam, and you will be reported to the appropriate department official. If you repeat this behavior and are caught again, you will receive an F for the course and you will be reported to the appropriate university personnel. Regrettably, this has happened quite often and is always extremely unpleasant.
Section 504 of the Americans with Disabilities Act of 1990 offers guidelines for curriculum modifications and adaptations for students with documented disabilities. If applicable, students may obtain adaptation recommendations from the Ross Center for Disability Services. The student must present these recommendations and discuss them with the instructor within a reasonable period, preferably by the end of Add/Drop period.
Qualities needed to succeed in this course and as a programmer in general (taken from the article 10 Signs You Will Suck at Programming by Jonathan Bluks): curiosity, resourcefulness, persistence, excitement, patience, concentration, independence, focus, creativity, and meticulousness.