CSE 101: Computer Science Principles

Syllabus

Term: Fall 2021
Instructor: Alex Kuhn (alex.kuhn@sunykorea.ac.kr, Office B423, +82-32-626-1230)
Lectures: Tue & Thu 5-6:20 pm via
Zoom
Labs: Mon 12:30-1:50 pm via
Zoom
Office Hours: Mon 2-3:30 pm & Wed 3-4:30 pm via
Zoom (different link than the class lecture/lab)
Course Homepage: 
http://www3.cs.stonybrook.edu/~alexkuhn/cse101-fall2021/

Note that while this class is online, you need to join the Zoom URL while logged in to Zoom with your Stony Brook Email.

Course Description

Introduces central ideas of computing and computer science, instills practices of algorithmic and computational thinking, and engages students in the creative aspects of the field. Also introduces appropriate computing technology as a means for solving computational problems and exploring creative endeavors. Includes weekly computer programming assignments, but assumes no previous programming experience.

Course Learning Outcomes

-       An ability to use computing tools and techniques to create computer program artifacts.

-       An ability to use multiple levels of abstraction, models, and simulation in computation.

-       An ability to use algorithms to develop and express solutions to computational problems. 

Textbooks

Required Texts:

There is no textbook you need to purchase. Some readings are drawn from How to Think Like a Computer Scientist and other freely available online resources.

Optional Texts:

The course homepage provides optional Python learning resources that you can use during the course. There is also one optional text that is freely available that discusses how the world has changed with the digital revolution:

Blown to Bits: Your Life, Liberty, and Happiness after the Digital Explosion, by Hal Abelson, Ken Ledeen, and Harry Lewis, Addison-Wesley. 2008. ISBN 0137135599. 

Grading

You course grade will be based on the following formula:

Class Participation: 5%

Assignments: 33%

Labs: 12% Weekly graded laboratory assignments.

Exams: 30% There will be two exams during the semester (each 15% of your total grade)

Comprehensive Final Exam: 20% An exam covering all the concepts covered during the semester.

Your final grade is calculated by the points you accumulate in each category, weighted by the percentage of each category.

Grade Cutoffs: A [93-100], A- [90-93), B+ [87-90), B [83-87), B- [80-83), C+ [77-80), C [73-77), C- [70-73), D+ [67-70), D [63-67), F [0-63). Grade cutoffs may be adjusted downwards if warranted by the grade distribution at the end of the semester.

Important note: You must attain a grade of at least 50% on exams and also at least 50% on assignments to achieve a grade higher than C-.  Additionally, if you have over 20% unexcused absences, your final course grade will be an F.

Makeup examinations will only be given for extenuating circumstances (e.g. hospital admission) or for verified, officially sanctioned university activities. All makeup examinations may be oral.

Regrading

Should you discover what you think is an error in grading your work, you have exactly one week after the grades are made available to you to request a regrade - no exceptions. 

To promote consistency of grading, questions and concerns about grading of labs or assignments should be addressed first to the TA and then, if that does not resolve the issue, to the instructor. 

You are welcome to contact the TA by email or come to their office hours. If you would like to speak with the TA in person and have a schedule conflict with their office hours, you are welcome to make an appointment to meet the TA at another time. 

For the final exam, there will be a time designated to resolve any grade queries or disputes. This will be announced after the final exam. The final exam papers will not be returned.

Discussion Forum

We will be using Campuswire for their discussion forum, where you can post questions and get answers from TAs, the professor, and classmates.

You can access the discussion forum by going to the “Class Feed” link when you are logged into Campuswire. You will receive an invite after the course begins to join Campuswire.

Everyone is expected to:

1.     Use this discussion forum responsibly and maintain a friendly and helpful atmosphere at all times

2.     Not use this discussion forum for non-course related issues or discussions

3.     Do not publicly post more than a few lines of source code from an attempt at a homework problem. Do not post the solution to a homework problem or a link to a website containing the solution. For more extensive help reviewing or debugging code, you should visit office hours.

Tentative Weekly Class Schedule

See the course schedule page

Labwork and Programming Assignments

All of the programming that you do in this course will be in Python, primarily completed via Google's Colaboratory ("Colab") online Python interpreter.

You can also install Python and the Visual Studio Code programming environment to run Python programs on your computer. If you don't have a computer of your own to use, please let me know as soon as possible.

Programming assignments must be turned in via the assignment submission on the course schedule on the day they are due. If your assignment is incomplete or is not working by the due date, turn in whatever you have. Due to limited resources for grading, programs which do not compile or run for testing may not be graded. Late submissions are only accepted in extenuating circumstances.

Lab exercise sets are graded on a 10-point scale:

§   0 points: student's submission is missing or largely incomplete.

§   3 points: student's submission is approximately 30% correctly completed.

§   5 points: student's submission is approximately 50% correctly completed.

§   8 points: student's submission is approximately 80% correctly completed.

§   10 points: student's submission is approximately 100% correctly completed.

Academic Integrity: Cooperation vs Cheating

Working with others on assignments is a good way to learn the material and we encourage it. However, there are limits to the degree of cooperation that we will permit.

When working on programming assignments, you must work only with others whose understanding of the material is approximately equal to yours. In this situation, working together to find a good approach for solving a programming problem is cooperation; listening while someone dictates a solution is cheating. You must limit collaboration to a high-level discussion of solution strategies, and stop short of actually writing down a group answer. Anything that you hand in, whether it is a written problem or a computer program, must be written in your own words. If you base your solution on any other written solution, you are cheating.

It is okay to help other students, within limits. If you are asked for help by another student, two things that are absolutely forbidden are to show that student your solution or to put your hands on that student's keyboard or paper. That isn't helping; that is facilitating cheating! Instead answer questions, give tips, help with tools, explain Python, point out a bug, and/or give encouragement. In other words, interact with other students the way that the TAs do.

When taking an exam, you must work completely independently of everyone else. Any collaboration here, of course, is cheating.

We do not distinguish between cheaters who copy others' work and cheaters who allow their work to be copied.

If you cheat, you will be referred to the appropriate office at the University. If you have any questions about what constitutes cheating, please ask.

The statement from the university on academic integrity is: Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty members are required to report any suspected instances of academic dishonesty to the Academic Judiciary Committee or the Department of Academic Affairs, Campus Building A, Room 201, (032) 626-1121.

Students with Disabilities

If you have a physical, psychological, medical or learning disability that may impact your course work, please contact the Department of Student Affairs, Campus Building A, Room 207, (032) 626-1190. They will determine with you what accommodations, if any, are necessary and appropriate. All information and documentation is confidential. 

Critical Incident Management

SUNY Korea expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Department of Academic Affairs any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn.

[COVID-19] Classroom Mask Policy

Everyone participating in this class during in-person sessions must wear a mask or face covering at all times or have the appropriate documentation for medical exemption. Any student not in compliance with this policy will be asked to leave the classroom. If students need to drink or eat, they should step out of the classroom to do so.