Syllabus

CSC 241-404

   

Introduction to Computer Science I

Fall 2020

Class: Monday/Wednesday, 1:30 - 3 pm, online using Zoom

Lab: Fridays, 11:50 am - 1:20 pm, online using Zoom

 

Professor: Amber Settle

Lab instructor: Nick Morris

Contact information

Phone: (312) 362-5324
asettle@cdm.depaul.edu
http://facweb.cdm.depaul.edu/asettle/

Office hours

Monday  11:30 am - 1 pm
Wednesday  3 - 4:30 pm

I am available during office hours via Zoom or by e-mail.  If you wish to talk to me live using Zoom you must make appointments with me in advance using BlueStar. I may be delayed in answering email if I have Zoom appointments with one or more of  your classmates.

Please make use of my office hours!  Asking questions about the assessments, class notes, labs, or the readings can improve your understanding enormously.  It will also let me know if I need to review a topic with the classIf you want to talk to me during my office hours but are unable to do so for any reasons, please contact me to make an appointment outside those hours.

Course technologies

This course uses several platforms to enable our interactions:

Prerequisites

Ordinarily the prerequisite for this class is MAT 130: Precalculus or an equivalent high-school or college course covering algebra and precalculus.

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:

  1. You will understand that a main focus of computer science is developing applications for computer systems.
  2. You will have stronger problem solving skills.
  3. You will know how to develop algorithmic solutions for basic computational problems.
  4. You will understand fundamental programming structures such as expressions, assignments, decision and iteration structures, functions and modules.
  5. You will have basic Python programming skills.
  6. You will be prepared for the second course in the sequence, CSC 242: Introduction to Computer Science II

Course calendar

The following gives all the important dates for this course.  The topics covered are subject to change.

Please note that all course sessions except for the midterm and final exam will be conducted using Zoom. A link is available on the course web site on D2L.

Week Date Topic/Deadline
1 Wednesday, September 9, 2020 Introduction to the course and Python
Friday, September 11, 2020 Quiz 1
Monday, September 14, 2020 Input structures, strings, and Boolean expressions
Tuesday, September 15, 2020 Last day to add classes
2 Wednesday, September 16, 2020 Boolean expressions, assignments, and lists
Friday, September 18, 2020 Lab 1
Monday, September 21, 2020 Functions and decision structures
Tuesday, September 22, 2020 The last day to drop classes with no penalty
3
Wednesday, September 23, 2020 Functions, decision structures, iteration structures
Friday, September 25, 2020 Quiz 2 and Lab 2
Monday, September 28, 2020 Functions and strings
4 Wednesday, September 30, 2020 Strings, decision structures, numeric types, operator precedence, formatted output
Friday, October 2, 2020 Quiz 3 and Lab 3
Monday, October 5, 2020 Modules and file processing
5 Wednesday, October 7, 2020 File processing
Friday, October 9, 2020 Quiz 4 and Lab 4
Monday, October 12, 2020 File processing
6 Wednesday, October 14, 2020 Midterm exam: 1:30 pm - 3 pm
Online
Monday, October 19, 2020 Discussion of the midterm and exceptions
7 Wednesday, October 21, 2020 Exceptions, objects, character encodings, loop patterns (iteration and indexed loops)
Friday, October 23, 2020 Quiz 5 and Lab 5
Monday, October 26, 2020 Loop patterns (indexed loops and accumulator loops)
Tuesday, October 27, 2020 Last day to withdraw from classes
8 Wednesday, October 28, 2020 Loop patterns (accumulator loops and nested loops), multidimensional lists
Friday, October 30, 2020 Quiz 6 and Lab 6
Monday, November 2, 2020 Loop patterns (while loops, infinite, and iteractive loops)
9 Wednesday, November 4, 2020 Dictionaries
Friday, November 6, 2020 Quiz 7 and Lab 7
Monday, November 9, 2020 Dictionaries and other collection types (tuples and sets)
10 Wednesday, November 11, 2020 Functions, modules, and module namespaces
Friday, November 13, 2020 Quiz 8 and Lab 8
Monday, November 16, 2020 Module namespaces and the random module
11 Wednesday, November 18, 2020 Final exam: 11:30 am - 1:45 pm
Online

Textbook

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: http://www.wiley.com/WileyCDA/WileyTitle/productCd-EHEP003201.html#student

Grading policy

Course assessments include lab attendance, programming assignments, and a midterm and final exam.  The course grade will be computed as follows:

Assessment Percentage
Lab exercises 10 %
Quizzes 15 %
Programming assignments 25 %
Midterm exam 25 %
Final exam 25 %

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 exercises

Every Friday you will have lab exercises available at 11:50 am and due at 3 pm. There will be a Zoom session conducted by the teaching assistant Nick Morris between 11:50 am and 1:30 pm, although you should only log into the session if you have questions on the lab. There are no points for "attendance." You can log into the lab session using the link provided on the D2L site. No late lab submissions are accepted for any reason, including submission of the wrong file. Your lowest lab score will be dropped in the calculation of your course grade.

Quizzes

Each week you will have a quiz taking place during the first 30 minutes of each lab session on Friday. The quizzes will start Friday, September 11th and will be held online from 11:50 am - 12:20 pm, with the exception of Friday, September 18th and Friday, October 16th when there will be no quiz. Generally the quizzes will be modifications of the examples we have discussed in class sessions or examples from the textbook. Some quizzes may involve CodeLab exercises, and you should refer to the instructions for using CodeLab available on D2L. For other quizzes you will be required to download a template for the quiz as well as a quiz question from D2L, and for those quizzes you must submit the answer to the quiz using D2L. No late quizzes will be accepted for any reason. The lowest quiz 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, Jorgon Ryan, and the CDM tutors on the programming assignments. 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 midterm exam will take place on October 14, 2020, 1:30 - 3 pm. The final exam will take place on November 18, 2020, 11:30 am - 1:45 pm. Both exams will be conducted online and will require you to write Python code. The details about how the exams will be given will be shared later int he quarter on the midterm and final exam study guides which will be posted to D2L.

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.

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.

Academic integrity

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

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.

Incomplete

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. Students must have been making adequate progress in the class prior to the emergency in order to be eligible to apply.