CSC 135 060, Fall 2021 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 12:00pm – 2:00pm, TuTh 9:30 – 11:00am
Meeting Time & Place:
Section 060: MoWe 3:00pm – 4:20pm, OM 158
Course Description: An introduction to computer components; algorithmic design and the constructs of structured programming; elementary data types and data operations; programming in a high-level language; one-and-two dimensional arrays; functions and top-down, modular, step-wise programming; computer solution of several numerical and non-numerical problems.
Prerequisite: None
Textbook: C++ Programming From Problem Analysis to Program Design, Eighth Edition, by D. S. Malik, Cengage.
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.
Policies
Programming Assignments
This course is designed to enable you to learn to become proficient in best practices in programming. It replaces the standard two-step “code - grade” pattern with the loop “code - critique - revise - repeat” pattern. Here are the steps that you will follow for a given assignment:
You submit a compilable version of your code before the initial deadline. If you do not submit a compilable version of your code before the initial deadline, then following steps do not apply for that particular assignment.
I annotate your code with detailed critiques.
You respond to the critiques by revising your code and resubmitting it. If you disagree or do not understand a critique, then email me to get more information.
We repeat this cycle until I mark the code as “Done”, that is, no more critiques.
The programming assignments must follow the Computer Science Documentation Standards.
In every programing assignment, you must cite or give credit to at least two sources, along with an explanation of what you got from each. You should not limit yourself to two, however; cite as many sources as you can think of. Sources you might cite include websites you found helpful; classmates who gave you good ideas; a book or paper you read. If you think you truly did an assignment on your own, with help from no one, think harder: can you thank a former professor, parent, or friend who taught you a particular skill or concept you used on the assignment? A class you took or assignment you did which gave you an idea you needed? If you still can’t think of anything to cite, then think of a follow-up question you have related to the assignment, go find the answer to your question, and cite the source you used.
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 (60%): There will be several programming assignments which combined will count for 60% of the course grade. Your grade in the assignments is a combination of:
- how far you got in the assignments
- how much effort you put in, as shown by the number of submissions of working code
- how much you’ve improved over the semester, as shown by the quality (lack of critiques) of your later submissions
A pile of code submitted at the end fails on two out of three of these criteria.
Exams (20%): There will be two exams each counting for 10% of the final grade. You must get a passing (60%+) grade on exams collectively to pass the course.
Final Exam (20%): There will a final exam 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.
- Reusing:
- 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 235] 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.
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.