Syllabus

CSC 241-601

   

Introduction to Computer Science I

Spring 2024

Class: Monday/Wednesday, 10:10 am -11:40 am, 14 E. Jackson Room 512

Lab: Tuesday, 8:30 am - 10:00 am, TBD

 

Professor: Adam J. Hecktman

Lab instructor: TBD

Contact information

Daley 200B

Chicago, IL 60604

Phone: (312) 493-1612

mailto:ahecktma@depaul.edu

Office hours

Monday/Wednesday

    

(in person or online)

    

1:25pm - 3:00pm

Tuesday

 

(online only)

 

By Appointment

My Monday/Wednesday office hours are held in room 200B of the Daley building, during which I am available in person, by phone, using Zoom, or by e-mail. My Tuesday office hours are remote only, during which I am available only on Zoom. If you wish to attend office hours on any day, please make an appointment with me, either on Campus Connect or by emailing me.  If you want to talk to me during my office hours but are unable to do so for any reason, 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 programming using Python and the Python API (application programming interface), all in the context of building computer applications.

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

After you have taken this class:

  1. You will understand that computer science's main focus is developing computer system applications, and you will understand how to create functions to develop those applications.
  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.

Week

Date

Topic/Deadline

1

Monday, April 1, 2024

Introduction to the course and Python

Tuesday, April 2, 2024

Lab 1

Wednesday, April 3, 2024

Input structures, strings, and Boolean expressions

2

Monday, April 8, 2024

Assignments and lists.

Tuesday, April 9, 2024

Lab 2

Wednesday, April 10, 2024

Loops and decision structures

3

Monday, April 15, 2024

Functions, decision structures, iteration structures

Tuesday, April 16, 2024

Lab 3

Wednesday, April 17, 2024

Functions and strings

4

Monday, April 22, 2024

Strings, decision structures, numeric types, operator precedence, formatted output

Tuesday, April 23, 2024

Lab 4

Wednesday, April 24, 2024

Modules and file processing

5

Monday, April 29, 2024

File processing

Tuesday, April 30, 2024

Lab 5

Wednesday, May 1, 2024

File processing

6

Monday, May 6, 2024

Midterm

Tuesday, May 7, 2024

Lab 6

Wednesday, May 8, 2024

Exceptions

7

Monday, May 13, 2024

Exceptions, character encodings, loop patterns (iteration and indexed loops)

Tuesday, May 14, 2024

Lab 7

Wednesday, May 15 2024

Loop patterns (indexed loops and accumulator loops)

8

Monday, May 20, 2024

Loop patterns (accumulator loops and nested loops), multidimensional lists

Tuesday, May 21, 2024

Lab 8

Wednesday, May 22, 2024

Loop patterns (while loops, infinite, and interactive loops)

9

Monday, May 27, 2024

Dictionaries

Tuesday, May 28, 2024

Lab 9

Wednesday, May 29, 2024

Dictionaries

10

Monday, June 3, 2024

The random module

Tuesday, June 4, 2024

Lab 10 (TBD)

Wednesday, June 5, 2024

Other collection types (tuples and sets)

11

Wednesday, June 12, 2024

Final exam: 8:30 am - 10:45 am

Textbook

The optional 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 we will use. 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 %

Programming assignments

30 %

Midterm exam

30 %

Final exam

30 %

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

To do well in this class, you must attend the class sessions and labs regularly, participate in class discussions, 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 Tuesday, you will have lab exercises available at 8:30 am and due at 9 pm. You are highly encouraged to attend the scheduled lab session from 8:30 am to 10:00 am. Students attending the lab session in person will have priority for answers and help from the teaching assistant. You can find the link for the lab sessions in the course calendar above.

To receive full points for the lab exercises, you must submit solutions to all exercises on the lab assignment by 9 pm on the day of the lab session. Lab submissions are accepted up to 12 hours after the deadline for partial credit. The penalty for submissions received up to 12 hours late is 15%, meaning that the maximum lab score that can be earned for a late submission is 8.5 points. No submissions will be considered more than 12 hours after the original lab deadline for any reason.

Programming assignments

Each week, you will have a programming assignment. You can consult with your homework partners, the teaching assistant, the instructor, 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. Assignments submitted by the deadline will be graded for full credit. Assignments submitted no later than 12 hours after the deadline automatically will lose 10% of the points. Assignments submitted more than 24 hours after the deadline will lose 20%. No assignments are accepted more than 24 hours after the deadline for any reason. 

Midterm and final exams

The midterm and final exams will each represent 30% of your grade. The midterm and final exams will take place on the date and time in the schedule above. Both exams will be conducted in a lab and require you to write Python code. The details about how the exams will be given will be shared later in the quarter on the midterm and final exam study resources, which will be posted to D2L.  You will have access to D2L and all the resources from the quarter on D2L for the exams.

Make-up exams will not be given. If you wish to petition for a make-up exam, you must notify me and the Dean of Students in advance. Exams will take place in person at the lab. No late exam submissions will be accepted for any reason not approved by the Center for Students with Disabilities. 

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.

Covid-19 health and safety precautions

If you are sick, please do not attend class.  Keeping our DePaul community safe is of utmost importance.

The recommendations may change as local, state, and federal guidelines evolve. Students who do not abide by any mask requirement may be subject to the student conduct process and will be referred to the Dean of Students Office. Students with medical reasons for not complying with any requirements should register with DePaul's Center for Students with Disabilities (CSD).

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 or programs written using the assistance of an AI tool); the paraphrasing of another's work or ideas without proper acknowledgment; working so closely with another person so as to produce identical code.

All students are expected to abide by the University's Academic Integrity Policy which prohibits cheating and other misconduct in student coursework. 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). 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. Publicly sharing or posting online any prior or current materials from this course (including exam questions or answers), is considered to be providing unauthorized assistance prohibited by the policy. Both students who share/post and students who access or use such materials are considered to be cheating under the Policy and will be subject to sanctions for violations of Academic Integrity. The use of AI tools such as ChatGPT is disallowed in this class.

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.

Mental health and academic assistance

Balancing the hard work of achieving your educational goals with the other demands of life is difficult at the best of times. For many of us, for a variety of reasons, things are more difficult now. I want to make sure you feel comfortable reaching out to me for support. The university also has great resources just a phone call or email away. These have been created and maintained for you, so use them:

·        DePaul University Counseling Services: Mental health is as important as physical health, and there are professionals a phone call away: (773) 325-7779 or 911 for emergency situations. You can find more information here: https://offices.depaul.edu/student-affairs/about/departments/Pages/ucs.aspx

·        The DePaul Dean of Students can help you with a wide range of topics, including figuring our if you should withdraw or apply for an incomplete: https://offices.depaul.edu/student-affairs/about/departments/Pages/dos.aspx

·        There are a lot of additional, more specific resources listed with the Office of Student Affairs, including crisis hotlines and sexual assault resources: https://offices.depaul.edu/student-affairs/support-services/counseling/Pages/Crisis-Hotlines.aspx

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 Jarvis 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.