Syllabus

Course Description

CSC 1010 Programming for All is an introductory computer science class; no prior experience is expected or required. In this course, we will write and analyze code in the Python programming language. We will implement and explore algorithms, programming design, and programming paradigms applicable to any programming language. Topics covered in the course include the following:

  • Python Basics
  • Numerical Expressions
  • Control Sequences
  • Conditional Statements
  • Text/String manipulation
  • Data Structures (lists, dictionaries, sets,…)
  • User-defined functions
  • Error Handling
  • Regular Expressions (Regex)
  • Application Programming Interfaces (APIs)
  • Image Manipulation (PIL)
  • Graphics (Turtle)
  • Relational/Labeled Data (Pandas)
  • Object-Oriented Programming
  • Graphical User Interfaces
Course Materials and Resources
Grading Criteria
Exams (30%)

Four (4) exams will be given during the semester in-class. Exams will be completed online, and the exam time is scheduled for 50 minutes. Students will be allotted the full 75-minute period to complete the exam, thus students with exam accommodations including (1.5) should be able to complete the exam during the class period. If you have additional accommodations, such as double time for exams or needing to take an exam in a testing center, please email me your accommodations before the end of the second week of class.

Final Exam (20%)

The final exam will be taken online, in the same format as the 4 exams. The exam will be scheduled for 120 minutes. All students will be allotted the full 3-hour period to complete the exam, thus students with exam accommodations including should be able to complete the exam during the scheduled time. Again, if you have additional accommodations, such as double time for exams or needing to take an exam in a testing center, please email me your accommodations before the end of the second week of class.

Homework (40%)

For each assignment you will be given a starter file. Do not rename these files, and only make modifications inside the file where you are directed. Changes to filenames and function names will results in errors during evaluation and grading. This may impact your grade and significantly delays the time it takes to return graded homework assignments.

Each homework assignment will be graded on a scale of 0 – 4. The rubric for grading is shown below.

PointsDescription
4 – Full MarksThe problem was solved correctly within the given constraints.
3 – Strong ComprehensionThe problem was not solved correctly, but there is evidence of strong intellectual comprehension of the material.
2 – Weak ComprehensionThe student has demonstrated some domain knowledge and attempted to solve the problem; however, the code or methods use were do not demonstrate a clear grasp of the material.
1 – Needs ImprovementThe solution shows significant effort in solving the problem; however, it applies little to no domain knowledge needed to solve the problem.
0 – No attemptThe solution provided demonstrates little to no attempt at solving the problem.
Homework Grading Rubric
Additional grading notes and policies
  1. Completion Time. Please note how long it took you took to complete each assignment. You will be asked to report this when submitting assignments.
  2. Late penalty. Homework will be accepted up to 24 hours after the due date without a penalty. If an extension of 48 hours is needed, then please complete this form prior to the assignment deadline.
  3. Dropping the lowest score. You will be allowed one excused homework assignment (the lowest grade will be dropped).
  4. Excused absences and extensions. No assignments will be accepted after one week of its due date, including those for university official excused absences. This allows graded material to be returned at a reasonable time and for the solution to be disseminated to all students. Excused absences requiring greater than a week to complete missing work will be dropped, increasing the weight of all other assignments.
Participation and Attendance (10%)

Throughout the course we will work on programming assignments and problems in class. You are expected to actively participate in these assignments. Class attendance is mandatory. Missing 4 or more classes will result in a full letter grade deduction. Seven (7) or more absences may result in failure of the course.

Letter GradeNumerical Grade
A93 >
A-89 – 93
B+86 – 89
B82 – 86
B-78 – 82
C+75 – 78
C72 – 75
C-68 – 72
D+65 – 68
D62 – 65
D-55 – 62
F55 <
Final Letter Grades
Extra credit and resubmissions

No extra credit or makeup assignments will be giving during the course or at the end of the semester.

Academic Integrity

academic integrity, n.: the process of maintaining honesty about ideas and their sources, and avoiding behaviors such as cheating on tests, plagiarizing papers, falsifying data.

Villanova University, Office of the Provost

Take a moment to review the University’s policies and guidelines for academic integrity. The computing sciences department encourages collaborative working. Additionally, the internet provides a wealth of computer science and programming resources. We encourage you to utilize those resources, but please do so in a way that does not violate the spirit of the University’s Code for Academic Integrity.

Below are some helpful guidelines regarding academic integrity for this course. Please review them in full.

  1. You should not send or receive code, either from your peers in the class, former students.
  2. You should not post code or assignments on websites such as Stack Overflow.
  3. You can and are encouraged to work with your peers.
    • Help debug or find errors in each other’s code.
    • Share ideas and approaches. Here are some examples of what is acceptable:
      • “I think using a list would be a good idea.”
      • “Have you considered sorting the data first?”
      • “Do you need a dictionary? Would another data structure work better?”
      • “There is a function inside the random module that will shuffle your list. Have you investigated that?”
  4. You should not search websites for solutions to problems given in class
    • Examples of acceptable and non-acceptable internet searches
      • Problem: Write a program that simulates a six-sided die
        • Acceptable: “How do you use the random number generator in python”
        • Acceptable: “What is the modulus operator in Python?”
        • Not acceptable: “How do I code a program to roll dice in Python”
      • Problem: Find all the prime numbers in a list.
        • Acceptable: “iterating through a list Python”
        • Acceptable: “using the modulus operator in Python”
        • Acceptable: “creating a new list in Python”
        • Acceptable: “appending values to a list in Python”
        • Not Acceptable: “How to find all the prime numbers in a list”
      • Problem: Write a function to determine if there are duplicate values in a list.
        • Acceptable: finding the length of a list in python
        • Acceptable: difference between list and set in Python
        • Acceptable: sorting a list in Python
        • Not Acceptable: how to find duplicate values in a Python list
      • Problem: Create a histogram of all the words in a document
        • Acceptable: “reading in a text file in python”
        • Acceptable: “Python dictionaries”
        • Acceptable: “creating a bar chart with matplotlib”
        • Not Acceptable: “histogramming words in a document and plotting”
Attendance

Attendance is mandatory at all class meetings. Where possible, students should inform their instructors if they plan to be late or absent from class. Excused absences do not count toward a failure in the course for first year students. Absence from class does not release the student from work assigned. Students who miss an in-class obligation (exam, presentation, etc.) due to an excused absence will not be penalized – arrangements including a make-up assignment, alternate time for a presentation, or exemption from the assignment will be made in such circumstances.

The University’s list of excused absences for all students includes the following:

  • participation in NCAA athletic competitions
  • participation in special academic events (e.g., conferences, field trips, project competitions)
  • participation in official university business (e.g., student representatives attending meetings related to university governance)
  • attendance at significant events involving the immediate family (e.g., funerals, weddings)
  • religious holidays – see the University’s policy on Religious Holidays
  • college-approved participation in placement activities (e.g., job interviews, graduate school interviews, attending job fairs)
  • documented serious illness or disability

Students are expected to be attentive and respectful contributors to each class.

Accommodations

Students with disabilities who require reasonable academic accommodations should schedule an appointment to discuss specifics with me. It is the policy of Villanova to make reasonable academic accommodations for qualified individuals with disabilities. You must present verification and register with the Learning Support Office by contacting 610-519-5176 or at learning.support.services@villanova.edu. For physical access or temporary disabling conditions, please contact the Office of Disability Services at 610-519-4095 or email Stephen.mcwilliams@villanova.edu. Registration is needed to receive accommodations.

Counseling Services

It is common for college students to feel overwhelmed by academic or personal matters. The University Counseling Center, located in 206 Health Services Building, offers individual counseling to discuss personal concerns. More information can be found on their website (www.villanova.edu/counselingcenter) or you can also reach them by phone: (610) 519-4050.

Inclusive Learning

Villanova University supports an inclusive learning environment where diversity and individual differences are respected, appreciated, and recognized as a source of strength and intellectual inquiry. Our different backgrounds, experiences, and perspectives enrich our learning together; they are welcome and valued in this course. We will demonstrate respect and diligence in understanding how other peoples’ perspectives, behaviors, and world views may be different from our own and how they inform our own understanding.

Copyright Policy

The materials used in Villanova University courses (“Course Materials”) generally represent the intellectual property of course instructors, third parties and/or the University which may not be disseminated or reproduced in any form for public distribution (e.g., sale, exchange, etc.) without the written permission of the course instructor. Course Materials include all written or electronic documents and materials, including syllabi, current and past examination questions/answers, and presentations such as lectures, videos, PowerPoints, etc., provided by a course instructor. Course Materials may only be used by students enrolled in the course for academic (course-related) purposes. Published course readings (book chapters, articles, reports, etc.) available in Blackboard are copyrighted material. These works are made available to students through licensed databases or fair use. They are protected by copyright law and may not be further disseminated or reproduced in any form for distribution (e.g., uploading to websites, sale, exchange, etc.) without permission of the copyright owner. Follow these links for more information about intellectual property, copyright, and computer acceptable use.