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 as co-requisite; or permission of the department.
This course meets program outcomes 1a, 1c, 1d, 2a, and 4a. 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.
GradingYour final grade for this course will be determined as follows:
| Item | % of Final Grade |
| Exams (best 2 of 3) | 50 |
| Projects (best 5 of 6) | 30 |
| Homework (best 10 of 12) | 15 |
| Participation (+ attendance) | 5 |
CS Lab
In order to use the computing resources of the department, and in particular, those in the CS Lab (S-3-158), you need to setup a CS account. With your CS account credentials, you can connect to our designated servers (users.cs.umb.edu or users1.cs.umb.edu or users2.cs.umb.edu) remotely using SSH. With the same credentials, you can also sign into the Ubuntu 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.
Policies
Classroom Etiquette
Come to class on time and if you have to leave early do so without causing any fuss. Remember to put your phone on silent mode (vibrate mode is no good because that is distracting as well) before class begins. Refrain from talking to each other during class and if you have any questions or concerns bring them up to me. Finally, do not eat during class - drinks are okay.
Late Assignments
Assignments can be submitted at most a day late (i.e., from the midnight they are due until the following midnight), and late submissions will be graded at 100% (no penalty), 75%, 50%, or 25% of the maximum possible score depending on whether the submission was 0-6, 6-12, 12-18, or 18-24 hours late respectively. Note that for problems involving multiple files, even if one file is submitted late, the problem submission is considered late as a whole. Also note that it is the most recent submission of each file that counts, which means that if you overwrite a file that was submitted on time by one submitted late, it's the latter that will be graded, and thus might incur a penalty.
Collaboration
CS110 is a challenging course that requires a significant time commitment for most students. If you fall behind, ask for help. The course staff will be happy to go through the material with you and help you work on your assignments or study for the exams. There is no excuse for plagiarism.
There might be exceptions to this general rule when working on certain (large/complex) project assignments and have to work in teams/groups. The exception shall be explicitly communicated but even then teams shall be held accountable for their work.
We actively monitor every submission made to us for every assignment. We compare the submitted files both using automated systems that check for similarities in code structure and by hand. We take no pleasure in forwarding cases to the disciplinary committee, but we will continue to do so as necessary. We want to keep the playing field level for the majority of students who work very hard in this course.
Code of Conduct
For information regarding academic dishonesty policies and procedures, student conduct policies and procedures, and student grievances, see Code of Conduct.
Accommodations for Students with Disabilities
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 me within a reasonable period, preferably by the end of Add/Drop period.
|
Introduction to Programming in Python: An Interdisciplinary Approach 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. We will refer to this text as the IPP text. |
The IPP text is on reserve at the Healey Library.
Other texts
|
CS for All (free online text) This text provides a good introduction to computer science as an intellectually rich and vibrant field rather than focusing exclusively on computer programming. The text emphasizes concepts and problem-solving over syntax and programming language features. We will refer to this text as the CFA text. |
|
Murach's Python Programming Python is one of today's fastest-growing languages. Its simple syntax makes it relatively easy to learn, and its diverse use... from web and game programming to data analysis and data mining to scientific computing, artificial intelligence, and more!... fuel its popularity. This text promises the fastest and easiest yet most professional way to learn Python whether you're a beginning programmer or have years of experience. |
Please note that this schedule of events is only tentative. Future events are subject to change without notice.
| Instructor: | JohnPaul K. Kambazza |
| Email: | jkamby _AT_ cs _DOT_ umb _DOT_ edu (preferred, with [CS110] in subject line) |
| Office: | Science Building, 3rd Floor, Room 130 (S-3-130) |
| Office Hours: | Mon, Wed 3:55 - 5:25 PM or by appointment |
| Class Hours: | Mon, Wed 2:00 - 3:50 PM, Wheatley Building, Upper Level, Gold Lab-041 (W-UL-041) |
Python links
UNIX/Linux links
Other helpful links
These lists shall keep growing so check back periodically.