CSC 241: Introduction to Computer Science I


Winter Quarter, 2017

Class TimeTuesdays/Thursdays, 3:10-4:40

Class Location: 14 E. Jackson, room 512


Lab Time: Mondays, 11:50-1:20

Lab Location: 14 E. Jackson, room 512

Instructor Information

Name: Joseph (Yosef) Mendelsohn

Office Hours: Please see my office hours page.



Course Topics and Learning Goals

This course is the first of a two-course sequence introducing computer science.  The focus of the course is on problem solving, algorithm development, and structured and object-oriented programming using Python and the Python API (application programming interface), all in the context of building computer applications.


In the first course we will focus on structured programming and learn how and when to use conditionals, loops, and functional and modular abstractions.


After you have taken this class:

·         You will understand that a main focus of computer science is developing applications for computer systems.

·         You will have stronger problem solving skills.

·         You will know how to develop algorithmic solutions for basic computational problems.

·         You will understand fundamental programming structures such as expressions, assignments, decision and iteration structures, functions and modules.

·         You will have basic Python programming skills.

·         You will be prepared for the second course in the sequence, CSC 242: Introduction to Computer Science II



Ordinarily the prerequisite for this class is MAT 130: Precalculus or an equivalent high-school or college course covering algebra and precalculus. This will be waived for this section, but students without algebra and precalculus are responsible for working with the instructor, the course TA, and tutors in order to make up any material needed for the course assessments.


About Your Instructor

My faculty bio can be found here.                


Grading Breakdown

Lab Attendance and Exercises




Midterm Exam (not in summer)


Final Exam



Your lowest assignment score will be dropped.


Summer Quarter Modifications

Because there are fewer assignments during summer quarter, and one less week worth of material covered, there will not be a dropped assignment during summer quarters.


There is no midterm exam. Therefore, the assignments will be worth 60%.



Grading Scale



77 to <79


90 to < 93


73 to <77


87 to <90


70 to <73


83 to <87


67 to <70


80 to <82


60 to <67







Course Policies


Assignments may be turned in up to two days late with a small penalty (typically 3 points) per day late. Late assignments will not be accepted, as it is unfair to other students. However, things do happen, so for this reason, the lowest assignment score will be dropped in the calculation of your final grade.


Make sure that you submit the correct assignment! It is up to the student to ensure that their attachment is not empty, and also that it contains the appropriate files. Accidentally submitting, say, the previous week’s assignment will not be considered a valid excuse.


If you make modifications to an assignment that you have already submitted, you are welcome to upload the newer version to D2L provided, of course, that it is uploaded before the assignment deadline. I will always grade your most recent submission.


Unless otherwise specified on for a given assignments ALL assignments must be submitted as ZIP files. Please do not submit as TAR, RAR, 7ZIP, etc. If you are not familiar with how to create ZIP files, a link to resources describing how to do so will be provided early in the course.


Exams for online-only students

As online students, exams will be proctored at DePaul University and at other remote locations. Please note the following:


You register for exams through D2L. You will see a widget at the top of your D2L course page allowing you to register. I will send out an email reminder asking you to register as the exam time approaches. 


Exams must be completed within the timeframe provided.


A score of 0 will be recorded for the exam if it is not taken within the timeframe.  Makeups will not be offered without very extenuating circumstances, and documentation will always be required. It is not possible to pass the course without taking the exam.


The exam scheduling window will be opened about 2 weeks before the exam week. I will email the class when scheduling is available. It is always a good idea to register right away for proctored exams since preferred times and locations do fill up.


Important: When exam time comes around, please be sure to read the online student policies document for detailed information. There is also an FAQ available.


Exams can only be taken either through DePaul’s online learning proctoring service, or, if you live more than 30 miles away from DePaul University, at a certified proctoring center.


All questions relating to online exams should be directed to the online learning staff. That is, please do not contact me with questions about online exams. The online learning staff can be reached at  The reason you should contact the OL staff instead of me is that I do not have anything to do with the organization or scheduling of online exams. All of this is handled by CDM’s online learning staff.


How to Contact Me

I try to check emails regularly throughout the day. Sometimes I can reply to emails within an hour or two, sometimes it take several hours before I get to them. However, I do make every attempt to answer all emails within 24 hours. In the event that this does not happen, please do feel free to resend the email. You don't have to "apologize for disturbing" me as the fault is mine! I will never ignore an email from you. Therefore, if you do not receive a response from me, you may assume that the email got lost in the pile somewhere or ended up in my spam folder. In that case, please do resend it.


When e-mailing me, it is very important that you include your name and course number in the subject. I have a pretty stringent spam-filter on my e-mail, so if you don’t do this, your e-mail may well end up in my spam folder. For example:


    Subject: Guillen, IT-130, question about inline styles


Real-Time Communication

I am more than happy to speak with students by phone or by Skype. If you wish to schedule an appointment, please email me at least 2-3 times that are good for you, and I will email you back with an appointment. However, office hours is strongly encouraged.


Pronoun / Name Preferences

I want to ensure that I properly respect every student’s preferred choice of pronoun or first-name. If you have a preference in terms of how you identify, please do not hesitate to let me know.


Asking for Help

There are many options here:

Discussion Forum: The discussion forum is definitely your best place to post questions and help each other out. Of course, while it is always great to help out fellow students, please do not simply fix other people’s problems. A major part of learning is struggling through the tricky parts, reviewing concepts and looking things up until the light bulb comes on.  Still, there is nothing wrong with giving hints to point people in the right direction.


Tutoring center: While this does not apply to those who do not live near campus, there is a tutoring center at CDM in downtown Chicago. You can find out more information here.


Office Hours: Please see my office hours page.


Contacting Me: I am always a resource for you. However, I do prefer that you use the discussion group first for questions as this way, other students can also benefit from questions you may have. If you have questions of a personal nature such as a dispute on the grade assigned by the course grader, then by all means let me know. I am also happy to schedule appointments by phone or Skype.


Please put a clear description of the topic you are posting about in the subject line!


Textbooks and Printed Resources

The required textbook for the course is Introduction to Computing using Python: An Application Development Focus, Second Edition, Ljubomir Perković,  John Wiley & Sons, 2015. Please buy the electronic version of the text since it contains case studies that we will be using. The electronic text has ISBN 978-1-118-89105-6. You can buy the ebook directly from the publisher if you like:


This book is freely available online through the Safari books database. You can access this database from DePaul library’s website. You can also search “DePaul Library Safari Books” through Google.


Changes to Syllabus

This syllabus is subject to change as necessary during the quarter.  If a change occurs, it will be communicated to you via News postings.

Getting Started

This course will use two web sites.

1.       The first is DePaul University’s course management system called ‘D2L’.

2.       The second is my personal web page at:


Please be sure to bookmark both of these on your browser.


CSC-241 Course Page

This page will give you all of the course lecture notes, this syllabus, the example web documents used in the course, and important resources such as the links to download the course software, exam cheat-sheets, and more.


D2L Course Management System

Desire 2 Learn (D2L) All course content, assignments and grades will be posted here. It is your responsibility to keep up with all class materials through this website. You will also be required to submit your work through D2L.


To get started, navigate to Desire 2 Learn (D2L) at


While there may be a slight learning curve the first few times you navigate the site, it should not take long before you develop some comfort with it. Also, be sure to watch the introduction to the course video.


While D2L is not very difficult to use, there is a slight learning curve. Once you have finished reading this syllabus, you can look at a series of explanations and tutorials can be found here.


Begin by viewing the 'D2L Content and Dropbox Online Tutorial' video.


You may then want to view the videos on quizzes and discussion groups.


Please review this document outlining DePaul and CDM's policies for online students. It contains all kinds of useful information such as how exams work, add/drop deadlines, etc.


Code Lab

We also use CodeLab for this course, which can be found at . There is a page that provides information about logging into CodeLab and using the site for assignments that can be found on the D2L site. Please make sure that you review it.


News Postings

After the first few days of the quarter, all communications will occur through D2L ‘News’ postings. These postings are extremely important – particularly so for online courses. So make absolutely certain that you have “subscribed” to News postings. By subscribing, all News postings will automatically be sent to your email. There are instructions provided on the checklist item on D2L. 


Course calendar

The following gives the breakdown of topics for the course.  The topics covered are subject to change.





Class 1

Introduction to the course and Python

Class 2

Input structures, type operators, and numeric types


Class 1

Decision structures, strings, and lists

Class 2

Iteration structures

Class 1

Functions and strings

Class 2

Modules and objects, formatted output


Class 1

File processing

Class 2

Exceptions and error handling


Class 1

More about decision structures and loop patterns (iterated loops)

Class 2

Loop patterns (counter and accumulator loops) and more review for the midterm


Class 1

Midterm exam: During regular class time for in-class sections

Class 2

Discussion of the midterm and more loop patterns (nested loops)


Class 1

More loop patterns (multidimensional lists and while loops)

Class 2

More loop patterns (infinite and interactive loops) and specialized statements (break, continue, pass)


Class 1


Class 2



Class 1

Other collection types (tuples and sets) and character encodings

Class 2

More functions, modules, and module namespaces


Class 1

More about module namespaces and the random module

Class 2

The random module and more review for the final exam


Final exam: Date/Time TBA


College Policies

Online Course Evaluations

Evaluations are a way for students to provide valuable feedback regarding their instructor and the course. Detailed feedback will enable the instructor to continuously tailor teaching methods and course content to meet the learning goals of the course and the academic needs of the students. They are a requirement of the course and are key to continue to provide you with the highest quality of teaching. The evaluations are anonymous; the instructor and administration do not track who entered what responses. A program is used to check if the student completed the evaluations, but the evaluation is completely separate from the student’s identity. Since 100% participation is our goal, students are sent periodic reminders over three weeks. Students do not receive reminders once they complete the evaluation. Students complete the evaluation online in CampusConnect.

Academic Integrity and Plagiarism

The course adheres to the DePaul University's Academic Integrity Policy. For complete information about Academic Integrity at DePaul University, please see:

Cheating is any action that violates university norms or instructor's guidelines for the preparation and submission of assignments. This includes, but is not limited to, unauthorized access to examination materials prior to the examination itself; use or possession of unauthorized materials during the examination or quiz; having someone take an examination in one's place; copying from another student; unauthorized assistance to another student; or acceptance of such assistance.  Plagiarism involves the presentation of the work of another as one's own. Plagiarism includes, but is not limited to the following: the direct copying of any source, such as written and verbal material, computer files, audio disks, video programs or musical scores, whether published or unpublished, in whole or part, without proper acknowledgment that it is someone else's; copying of any source in whole or part with only minor changes in wording or syntax, even with acknowledgment; submitting as one's own work a report, examination paper, computer file, lab report or other assignment that has been prepared by someone else (including research papers purchased from any other person or agency); the paraphrasing of another's work or ideas without proper acknowledgment; working so closely with another person so as to produce identical code.

The use of others' web/publication content (text, graphics, code) is regarded as plagiarism if credit is not given (see the above description of plagiarism). When you directly quote someone's work, you must put it in quotation marks.Without such quotations and reference, it is regarded as an act of plagiarism (see the above description of plagiarism). Using materials that the student prepared for other purposes (e.g., for another course or for his/her work) needs the course instructor's prior permission.

A charge of cheating and/or plagiarism is always a serious matter. It can result in an automatic F in the course and possible expulsion.More information can be found at If you have any questions, consult with instructor.

All students will be required to sign and return an Academic Integrity pledge at the start of the quarter. The Academic Integrity pledge will be posted on the D2L site. The pledge must be signed and returned as a part of the first homework assignment. Students that violate this agreement are violating the Academic Integrity policy of DePaul University. See the section on Academic Integrity below for more information about that policy and penalties for violating it.

In order to do well in this class, you must attend the class sessions and labs regularly, participate in class discussions, read the chapters in the book as indicated in the homework assignment, start work on the assignments early, and ask questions early and often. The answers to the programming assignment and the lab and exam questions should be written in a way that is rigorous, clear, and concise.

Lab attendance and exercises

Each week you will have a lab session conducted by a teaching assistant.  Your attendance at the lab session and completion of lab exercises is required and will count for the portion of the grade indicated above.  No late lab submissions are accepted for any reason.  Your lowest lab score will be dropped in the calculation of your course grade.

Programming assignments

Each week you will have a programming assignment. You can consult with your homework partners, the lab assistant, the instructor, and the CDM tutors on the programming assignments, but you may not under any circumstances submit code that you have not helped to write nor may you consult anyone beyond those specified when completing your assignments. Each programming assignment will have a posted deadline, specified on the assignment. No late assignments are accepted for any reason. Your lowest assignment score will be dropped in the calculation of your course grade.

Midterm and final exams

The midterm and final exams will be cumulative.  The format of the exams will be discussed as the time for each approaches.

Make-up exams will not be given. If you wish to petition for a make-up exam, you must notify me in advance and provide documented evidence of the emergency that will cause you to miss the exam. Failure to contact me in advance of the exam date and time will disqualify you from being allowed to take a make-up exam. If a make-up exam is granted, it will be of a form of my choosing.


An incomplete grade is given only for an exceptional reason such as a death in the family, a serious illness, etc. Any such reason must be documented. Any incomplete request must be made at least two weeks before the final, and approved by the Dean of the College of Computing and Digital Media. Any consequences resulting from a poor grade for the course will not be considered as valid reasons for such a request. Incompletes are only granted when the large majority of the course work has already been completed.


Academic Policies

All students are required to manage their class schedules each term in accordance with the deadlines for enrolling and withdrawing as indicated in the University Academic Calendar.  Information on enrollment, withdrawal, grading and incompletes can be found at:

Students with Disabilities

Students who feel they may need an accommodation based on the impact of a disability should contact the instructor privately to discuss their specific needs. All discussions will remain confidential.
To ensure that you receive the most appropriate accommodation based on your needs, contact the instructor as early as possible in the quarter (preferably within the first week of class), and make sure that you have contacted the Center for Students with Disabilities (CSD) at:

Lewis Center 1420, 25 East Jackson Blvd.
Phone number: (312)362-8002
Fax: (312)362-6544
TTY: (773)325.7296


Learning Domain Description

CSC 241 is included in the Liberal Studies program as a course with credit in the Scientific Inquiry domain Courses in the Scientific Inquiry domain are designed to provide students with an opportunity to learn the methods of modern science and its impact on the world around us. Courses are designed to help students develop a more complete perspective about science and the scientific process, including: an understanding of the major principles guiding modern scientific thought; a comprehension of the varying approaches and aspects of science; an appreciation of the connection among the sciences; the fundamental role of mathematics in practicing science; an awareness of the roles and limitations of theories and models in interpreting, understanding, and predicting natural phenomena; and a realization of how these theories and models change or are supplanted as our knowledge increases.


Learning Domain Outcomes

1.       Students will understand the major principles guiding modern scientific thought. Students will demonstrate a mastery of the science content knowledge of their SID courses.

2.       Students will know that science, technology, and math serve as mechanisms for inquiry into the nature of the universe. Students will:

a.       identify questions that can be answered through scientific investigations;

b.      design and conduct a scientific investigation to test a scientific hypothesis;

c.       use appropriate tools and techniques together, analyze, and interpret data to support or refute a scientific hypothesis;

d.      develop descriptions, explanations, predictions, and models using evidence;

e.      describe relationships between evidence and explanations using critical and logical thinking;

f.        recognize and analyze alternative explanations and predictions;

g.       communicate scientific procedures and explanations;

h.      use mathematics in all aspects of scientific inquiry.

3.       Students will understand and appreciate the interrelationships among science, technology and math. Students will:

a.       use technology and mathematics to identify a problem or design a solution to a problem;

b.      give examples of how science and technology inform and influence each other.

4.       Students will understand and appreciate the role of science in society and in their lives. Students will:

a.       Provide examples of how science and technology impact our lives, and how social needs and concerns impact our development of technology and scientific investigation;

b.      develop positive attitudes towards science, technology, and mathematics;

c.       establish an ongoing experiential/service-learning interest in science, technology, and mathematics.

5.       Students will understand the nature of science, technology, and mathematics. Students will:

a.       provide examples of the abuse of science, including the representation of unfalsifiable claims as science and other forms of pseudoscience;

b.      explain the strengths and limits of scientific inquiry;

c.       explain the difference between evidence and inference, and the provisional nature of scientific explanations by providing examples of how our understanding of the workings of the world has changed in the past;

d.      explain the difference between probability and certainty, and describe what is meant by uncertainty in the context of science, technology, and mathematics.

How Learning Outcomes Will Be Met

Programming is a rigorous intellectual challenge that must be approached systematically with extreme attention to detail. The structure, grammar, syntax and underlying theory must all be studied and reviewed in order to be able to not only apply the principles towards achieving a functioning program. Another very important skill is the ability to use programming to solve tasks that occur in the real world. For a computer program, this might include tasks such as error checking, creating a working ‘shopping basket’ and so on. Even mathematical skills come into play whether it involves random number generation in a video game requiring simulated die rolls, or careful attention to order of operations when putting together a complicated estimate from a reservations page for a travel agency’s website.  All of these situations (or ones closely resembling them) will be required of students at some point in the course.


Writing Expectations

Writing is integral for communicating ideas and progress in science, mathematics and technology. The form of writing in these disciplines is different from most other fields and includes, for example, mathematical equations, computer code, figures and graphs, lab reports and journals. Courses in the SI domain must include a writing component where that component takes on the form appropriate for that course (e.g., lab reports, technical reports, etc.)

How Writing Expectations Will Be Met

In the course of the quarter, students will be required at times to provide clearly written summaries explaining some of the programming and web-design theories expounded upon during the course. The student will also be required to explain their own reasoning accompanied by specific examples from their own code and from their interpretation of code found during exploration of well-designed web pages created by others.   


Most of the following will apply primarily to in-class sections.


Attendance:  For in-class sections, students are expected to attend each class and to remain for the duration.  However, attendance will not be factored into your final grade.


Class Discussion: Whether in-class or online, student participation in class discussions will be measured in two ways.  First, students are highly encouraged to ask questions and offer comments relevant to the day’s topic.  Participation allows the instructor to “hear” the student’s voice when grading papers.  Secondly, students will be called upon by the instructor to offer comments related to the reading assignments.  Students must keep up with any assigned readings to participate in class discussion.


Attitude: A professional and academic attitude is expected throughout this course.  Measurable examples of non-academic or unprofessional attitude include but are not limited to: talking to others when the instructor is speaking, mocking another’s opinion, cell phones ringing, emailing, texting or using the internet whether on a phone or computer.  If any issues arise a student may be asked to leave the classroom.  The professor will work with the Dean of Students Office to navigate such student issues.


Civil Discourse: DePaul University is a community that thrives on open discourse that challenges students, both intellectually and personally, to be Socially Responsible Leaders.  It is the expectation that all dialogue in this course is civil and respectful of the dignity of each student.  Any instances of disrespect or hostility can jeopardize a student’s ability to be successful in the course.  The professor will partner with the Dean of Students Office to assist in managing such issues.


Cell Phones/On Call:  If you bring a cell phone to class, it must be off or set to a silent mode. Should you need to answer a call during class, students must leave the room in an undisruptive manner. Out of respect to fellow students and the professor, texting is never allowable in class. If you are required to be on call as part of your job, please advise me at the start of the course.


Student responsibilities:  Each student is responsible for their time management and for meeting the expectations in the syllabus.  The instructor is not responsible for reminding students of assignment deadlines in class.  In the event of an absence, it is the student's responsibility to contact the instructor regarding the absence and the topics covered in class.  If an assignment is listed on the syllabus, you are still responsible for completing the assignment on time.