CSC 223 010 & CSC 223 020, Fall 2020 Syllabus
General Information
- Instructor:
- Dr. Dylan Schwesinger
- Office:
- Old Main 259; Phone: (484) 646 - 4389
- email:
- schwesin@kutztown.edu
- Web URL:
- https://csitrd.kutztown.edu/~schwesin
- Office Hours:
- Mo 10:00am – 11:00am, WeFr 10:00am – 12:00pm
Meeting Time & Place:
Section 010: MoWeFr 8:00am – 8:50am, OM 158
Section 020: MoWeFr 9:00am – 9:50am, OM 158
Course Description: This course takes students deeper into the theory of scientific programming, building on a foundation of sound programming methodology and an understanding of the modern programming languages prevalent in scientific communities and of the specialized tools and libraries. Thorough grounding in computer science principles will enable the student to gain knowledge and skill to best leverage these tools for scientific study and research. Topics include basic concepts of problem analysis and program design both from a procedural and structural standpoint - algorithm development, algorithm analysis, data structures, data storage, data analysis and data visualization. Additional topics will include applications to scientific problems.
Prerequiste: (C or better in CSC 123) OR (C or better in CSC 135)
Textbook: None
Course Organization
Your participation in the course will involve the following activities:
- Attending the lectures
- Doing assignments
- Reading the text.
- Taking exams
Regular attendance and class participation are expected, but attendance will not be taken during lectures. Students are responsible for all material covered in class.
The course is designated as an “In Person / Hybrid” course. The official description is: “A regularly scheduled class; students will attend face to face and remotely on a rotation determined by the instructor.” Each class will be streamed live via Zoom. The Zoom meeting link and class rotation are on the course website.
Policies
Assignments
All assignments must include the following information: your name, the course (CSC 223), semester, year, and assignment number. Programming assignments must follow the Computer Science Documentation Standards. Failure to meet these expectations will result in a 10% penalty for that assignment.
All assignments are due on the specified day and time. The penalty for late assignments is 10% (one letter grade) per day. An assignment can be at most three days late. Each student will receive a budget of five grace days for the course. These grace days are provided to allow you to cope with most emergencies that prevent timely assignment completion. Here is how grace days work:
- Each assignment has a maximum number of grace days that can be applied. The grace day limits are indicated on the course website and in the assignment descriptions.
- Grace days are applied automatically until you run out.
- If your last submission is one day late and you have at least one remaining grace day, then you will receive full credit for the assignment and automatically spend one grace day.
- Once you have spent your grace days, or exhausted the limit for the assignment in question, then you will receive a penalty of 10% for each subsequent late day.
- Submissions will not be accepted more than three days late.
Exams
Exams must be taken when scheduled unless I have approved an alternate time prior to the scheduled exams. Missed exams will be handled on an individual basis and will require written documentation for the absence. University policy will be followed.
Final Grade Assignment
Each student will receive a numeric score for the course based on a weighted average of the following:
Assignments (50%): There will be several programming assignments which combined will count for 50% of the course grade. Assignments may have different weights based on the perception of the relative effort required. The course website has information regarding assignments.
Exams (30%): There will be two exams each counting for 15% of the final grade. You must get a passing (60%+) grade on exams collectively to pass the course.
Final Project (20%): There will a final programming assignment that will count for 20% of the final grade.
The letter grade cutoff points are 93 (A+), 90 (A-), 87 (B+), 83 (B), 80 (B-), 77 (C+), 70 (C), 60 (D).
Bonus Points: The instructor will selectively consider raising individual grades for students just below the cutoffs based on factors such as attendance, class participation, improvement throughout the course, and special circumstances.
Academic Dishonesty
All students should familiarize themselves with the Computer Science Academic Integrity Policy
The remainder of the academic dishonesty policy is adapted from this syllabus. The policy is based on the following beliefs:
Developing programs from scratch, or with limited starting code, requires using design principles and logical thinking that are much deeper than what can be obtained by copying and modifying an existing implementation. Making use of unauthorized sources diminishes the educational value of an assignment.
Although teamwork and collaboration are important real-world skills, it is important to first gain the core competencies that enable individuals to serve as effective team members. This course is designed to teach and assess these core competencies. Unauthorized collaboration diminishes the educational experience and the reliability of assessments.
Based on these principles, here are guidelines on what forms of resource use, resource sharing, and collaboration are permitted in this course.
Exams: Each exam must be the sole work of the student taking it. No collaboration of any form is allowed on exams. Students may not discuss any aspect of any exam question with someone who has not yet taken the exam.
Assignments and Information Sources: As a general rule, you may not obtain any information about an assignment from an unauthorized source. Clarifications as to which sources are authorized and which are not are as follows:
- Copying:
- You may use material that is explicitly provided for the assignment. No attribution is required.
- You may use other course material, including lectures and material from the course website, but you must provide clear attribution, indicating the source and where the included material begins and ends.
- You may use any material from the course textbook(s). For any such use involving code you must provide clear attribution, indicating the source and where the included material begins and ends.
- You may not obtain code or other solution information from an unauthorized external source, including web pages, code repositories, blog posts, etc.
- Searching:
- You may search for or refer to general information including the use of systems, networks, compilers, debuggers, profilers, and program libraries.
- You may not search the Web for solutions or for any advice on how to solve an assignment.
- Resuing:
- You may reuse elements of general knowledge from prior courses. For example, you may use existing code for a linked list or to process command line arguments. For any such use involving code, you must provide clear attribution, indicating the source, and where the included material begins and ends.
- If you have worked on a specific assignment in a previous semester, then you should arrange a meeting with the course instructor to devise a policy on which parts of your solutions you may use. Reuse without explicit permission of an instructor, even if it is your own code, is forbidden.
- Using other’s code or documents:
- You may not look at someone else’s code (or other documents). This includes one person looking at the code and describing it to another.
- You may not make use of any information about the assignment posted online except for the authorized sources listed above.
- Assistance:
- You may get assistance on an assignment from the instructors, graduate assistants, and university tutors.
- You may only get high-level strategic advice from others, including current and former students. Forbidden forms of advice include anything more detailed than a brief verbal description or block diagram, any kind of code or pseudo-code, explicit directions on how to assemble allowed blocks of code, and code-level debugging assistance.
Assignments and Collaboration As a general rule, you may not provide detailed help with an assignment other students. Clarifications about which forms of aid are authorized and which are not are as follows:
- Sharing:
- You may not supply a copy of a file or document to an individual student or via a public channel, such as a blog post.
- Providing access:
- You may not have any of your solution files in unprotected directories or in unprotected code repositories.
- Coaching, Assisting, and Collaborating
- You may not provide electronic, verbal, or written descriptions of code or other solution information.
- You may clarify ambiguities or vague points in class handouts or textbooks.
- You may help others use the computer systems, networks, compilers, debuggers, profilers, code libraries and other system facilities.
- You may discuss and provide general strategic advice about an assignment. Providing anything more detailed than a brief description or block diagram is not allowed. Providing any kind of code or pseudo-code is not allowed.
- You may provide suggestions of potential bugs based on high-level symptoms. Code-based debugging assisstance is forbidden.
Enforcement
Assignments will be closely monitored for plagiarism. All infractions will be reported to the department chair. The penalty for cheating will be determined on a case-by-case basis, but it will always be worse than having not turned in the assignment.
Email Correspondence
The preferred method of course communication is email. When sending email, please indicate the course number in the subject line by placing it within square brackets, for example, “[CSC 223] Need help on Assignment 1”. All email correspondence must sent from your Kutztown University email address. You can expect a response to an email with a properly formatted subject line within 24 hours. An email with an improperly formatted subject line may get no response at all.
Classroom Etiquette
Consideration for your classmates, instructor, and class is expected. Please come to class on time and prepared to learn. There should be no classroom conversations, sleeping, cell phone usage, or other disruptions to the class.
Zoom Meeting Etiquette
Zoom meetings are one of the primary modalities of this course. Everyone should be professional, behaving as though it is a face-to-face meeting. Here are some guidelines for Zoom class meetings:
Turn off your video feed unless absolutely necessary. Unnecessary video streaming can disrupt students with poor internet connections.
Mute yourself unless you are speaking. Background noises can be distracting to meeting participants.
Be mindful of background noise. When your microphone is not muted, avoid activities that will create noise, such as shuffling papers, etc. Please silence your phone as well as any programs you have running on your computer (such as email notifications).
Parliamentary rules always apply. If you want to participate in the discussion, you should raise your hand and wait for the instructor to recognize you. Do not simply start speaking even if you think that you have something very important to say. You can raise your hand with the raise hand feature in Zoom.
COVID-19 Mask Policy
Current research on the COVID-19 virus suggests there is a significant reduction in the potential for transmission of the virus from person to person by wearing a face mask that covers the nose and mouth. As described in the Kutztown University COVID-19 pandemic response plan, students and employees must wear face masks in classrooms, public areas and common spaces on campus, in addition to practicing social distancing. For the safety of everyone, any student not appropriately wearing a face mask will be asked to leave the classroom immediately. The student will be responsible to make up any missed class content or work. Please note, a face shield can be worn in addition to a face mask – not instead of a face mask (unless approved for pre-existing conditions).
The Student Conduct Pandemic Response Guidelines include information on penalties for not wearing face masks in the classroom. Students who demonstrate a willful pattern of non-compliance, expose community members to a serious, demonstrable health risk, and/or do not comply with a directive of a university employee related to a university-approved pandemic regulation are subject to immediate interim suspension from their academic schedule. Full information can be found online.
Accreditation
Any course work submitted to the instructor (including but not limited to assignments, tests, and projects) may be photocopied and retained for the purpose of assessment, accreditation and quality improvement, after removal of any information identifying the student.
Students with Disabilities
Students with diagnosed disabilities or special needs that require accommodations for this course must first contact the Disability Services Office, located in the Office of Human Diversity at 215 Stratton Administration Building. If you have already disclosed a disability, please feel free to speak with me privately so that I may assist you.
Gender-Based Crimes
Educators must report incidents of gender-based crimes, including sexual assault, sexual harassment, stalking, dating violence, and domestic violence. If a student discloses such incidents to me during class or in a course assignment, I am not required to report the disclosure, unless the student was a minor at the time the incident occurred. Regardless of the student’s age, if the incident is disclosed to me outside the classroom setting or a course assignment, I am required by law to report the disclosure, including relevant details, such as the names of those involved in the incident, to Public Safety and Police Services and to Mr. Jesus Peña, Title IX Coordinator.
Note: This syllabus is subject to change at the discretion of the instructor.