CIS 115 Syllabus - Spring 2023

CIS 115 - Introduction to Computing Science - Spring 2023

Previous Versions

Contact

Info

All emails for the course should be sent to cis115help@KSUemailProd.onmicrosoft.com (sorry I know it’s a long address). This will contact the professors and ALL the TAs for the course and guarantee the fastest response time if contacting via email (please allow one full business day for response). You are welcome to send emails that may contain more sensitive information directly to intended recipients.

Communication can also be done through Microsoft Teams. If you have not been invited to join the team for CIS 115, please let any of us know and we will get you added.

Instructor: Emily Alfs-Votipka (she/her) – emilyalfs@ksu.edu (teaches sections C)

  • Office: 2161 Engineering Hall (DUE)
  • Office Hours: M/W 1:00-3:00

Instructor: Joshua Weese (he/him) – weeser@ksu.edu (teaches sections B )

  • Office: 2214 Engineering Hall (DUE)
  • Phone: See calendar below
  • Office Hours: weeser.net/calendar

Undergraduate Teaching Assistants All TA office hours can be found on the embedded calendar below.

Name Section
Nathan Herscovici B,C
Emma Lucas B,C
John Partridge B,C
Carrie Aponte -
Ryan Stueve -

Office Hours and Course Schedule

  • Section B - with Dr. Joshua Weese
    • Tuesday 10:15 - 12:05 DUE 1117
  • Section C - with Emily Alfs-Votipka
    • Tuesday 12:25 - 2:15 DUE 1117

Required Texts

Required Software

We will also be using Python 3 as the language for the programming assignments. It can be found at python.org . Information on downloading and installing Python will be given in class.

Optional Reading

These are books we’ve found to be interesting and/or useful:

  • “Tubes: A Journey to the Center of the Internet” by Andrew Blum. ISBN 0061994952
  • “Blown to Bits: Your Life, Liberty, and Happiness After the Digital Explosion” by Hal Abelson, Ken Ledeen, and Harry Lewis. ISBN 013713559, Creative Commons digital edition available FREE at http://www.bitsbook.com/
  • “Code: The Hidden Language of Computer Hardware and Software” by Charles Petzold. ISBN 0735611319
  • “How Not to be Wrong: The Power of Mathematical Thinking” by Jordan Ellenberg. ISBN 0143127535
  • “The Innovators: How a Group of Hackers, Geniuses and Geeks Created the Digital Revolution” by Walter Isaacson. ISBN 1476708703

How to Get Help in this Course

CIS 115 can be an interesting course due to the large amount of material covered and much of the material is brand new to students. Therefore, you are encouraged to seek help whenever you feel you are being overwhelmed or don’t understand a topic. You are not alone! Most students in CIS 115 have never studied anything relating to computer science before, so it is new to everyone. The instructors and TAs are always willing to help students with any questions you may have about the class or other issues related to Computing Science. So please, don’t be afraid to ask questions. Get help early and often!

Here are the 5 recommended ways to get help on CIS 115:

  • Review the course materials posted on K-State Canvas and the course website
  • Send assignment questions to the CIS 115 Help email (cis115help@KSUemailProd.onmicrosoft.com ) OR via Microsoft Teams (The channels are intended for general questions, sharing of code/answers is restricted to direct messages).
  • Visit your professor’s office hours, or the office hours for your TA if available
  • Ask your teammates for help or advice on assignments or projects (be mindful of the honor code!)
  • Schedule a one-on-one meeting with your professor/TA

Course Description

This course is an introduction to the history, fundamental theories, basic programming, and research areas within Computing Science and its related disciplines. Computing Science has a direct impact on many facets of daily life, but very few of us ever take the time to wonder how it all works. This course aims to fill that void.

To accomplish this goal, we will do several hands-on learning activities, have meaningful in-class discussions, write about our own thoughts and opinions on various subjects, and research topics that are central to Computing Science. While doing so, we will try to relate the concepts we are learning to real-world problems and ideas.

Course Objectives

By the end of this course, each student will be able to:

  • Describe the history of Computing Science and list some of the important devices, innovations, and people that got us to where we are today.
  • Relate Computing Science to a variety of other disciplines and describe how they are interconnected with each other.
  • Apply and use Computing Science tools and techniques to solve real-world problems.
  • Research and learn about new ideas and areas in Computing Science and share those ideas with others, all without direct guidance.
  • Develop a personal understanding of how Computing Science affects his or her own life.
  • Understand many different subject areas within Computing Science and how they are changing our understanding of the field.

Major Course Topics

  • The history of Computing Science and early computing machines
  • Computational thinking, programming, and algorithm design
  • The history and technology behind the internet and how it affects our world
  • Traditional Computing Science areas such as artificial intelligence, human-computer interaction, high performance computing, big data, robotics, and more
  • Cybersecurity in a modern, interconnected world
  • Other disciplines and how they relate to Computing Science.

Course Structure

In short, this course will focus on several learning activities designed to engage and interest students in a variety of topics while helping them think more deeply about each topic and why it is important in Computing Science. This class will require a considerable, but reasonable, amount of effort, not only from the students but the instructors and TAs as well. In addition to exercises and activities, there will be several assignments and group projects to be completed.

CIS 115 is a studio-type course, meaning that much of the course is done online. It is expected that you complete the online material/readings before you come to class so we can have discussions on that weeks material. Class time will be dedicated to activities, discussions, and programming work. While most work for the course is available online, there will be some content that will be available only in class. There will be about two modules of content delivered each week, along with some Python programming content. Each module given will have a quiz over the content covered so it is important to stay caught up on module content each week (see late policy below)!

Attendance and Participation in Class Activities

Attendance in class is required. The majority of class periods will include hands-on/group activities to be completed in class that will help illustrate the topic of the day. Collaborating and communicating with others in the class is a large part of these activities and is encouraged. Participating in each of these activities is key to learning, so failing to attend class or complete in-class activities and labs will result in a reduced grade for that day’s work. *Simply attending class does not guarantee that you will receive points*

Face coverings are not required; however, they are encouraged if you are feeling ill. (See general face coverings policy down below)

Need to miss a class? Work will never be completely excused, however some exceptions/extensions can be given in 2 situations:

  • You are absent due to a university activity and have given the instructor prior notice of the absence. Excuses after the absence will not be accepted, even for university activities

  • You have a “major life event” that prevents you from completing class, such as an illness or family emergency. These events must be verified through the K-State Office of Student Life. Contact them AS SOON AS YOU CAN once you know you will be away from class. They will work with your instructors while you are gone. Contact your instructor once you are able to discuss make-up work and absences.

Note

Attendance accommodations include all COVID related causes, but Student Life should still be some of the first people you contact.

Assignments

Warning

Assignments are to be completed without any collaboration with classmates or other outside help unless otherwise stated. It is crucial that all work you do is your own. Posting (even if you don’t get a response) course content on Stack Overflow, Chegg, or other similar websites is expressly forbidden and will result in an XF. This includes viewing posts as well. It also includes viewing solutions to course content that has not been provided to you through canvas by your instructor or TA.

*If you are struggling in the course or you have doubts on something, please ask!  Your instructors and TAs are here to help!*

There will be some programming or written assignments given from time to time that must be completed outside of class. It is acceptable to communicate with other students about the concepts in the assignment if you do not understand it, but you should not discuss the details of how the assignment should be completed. Your submission should be your own work, or the work of your small group if allowed by the instructor. Some work will require you to look up certain programming syntax and techniques on the internet, but there is a fine line between learning and copying! When in doubt, ask!

Grading

  • 20% - Topic Research and Wiki Article
  • 15% - Programming Labs (Lowest lab is dropped) and Programming Homework
  • 10% - Discussions
  • 30% - Quizzes (Lowest two scores are dropped)
  • Exams
    • 15% - Python Exams
    • 10% - Final Exam

Letter grades will be assigned following the standard scale:

90% - 100% - A; 80% - 89.99% - B; 70% - 79.99% - C; 60% - 69.99% - D; 00% - 59.99% - F

Late Work

Warning

Poor planning/procrastination on your part does not constitute as an emergency on ours.

Every student should strive to turn in work on time. Late work will receive penalty of 10% of the possible points for each partial day it is late. Some assignments will NOT be accepted late! Others will be limited to a maximum of three days late (not always 3 days). You can see if an assignment is accepted late by seeing if the last available date for that assignment in canvas goes past its due date. Missed class attendance cannot be made up, though as mentioned above some areas will drop the lowest score. If you are getting behind in the class, you are encouraged to speak to the instructor before it becomes too late to recover.

Programming Work

Warning

Programming assignments that are turned in and do not run or that are not in the required format will receive a grade of 0, no exceptions. My recommendation to avoid making this mistake is to check your solution after you submitted it to Canvas. Redownload what you submitted from Canvas and run it again to assure that the program you submitted is working as intended.

There will be two primary types of programming assignments: homework and labs. Labs will be only available to be completed during designated class times unless otherwise stated. To get credit for completing a lab, you must have your work checked off by the professor or TA before leaving class. Partial credit is awarded for labs started in class, but not completed in time. No credit is given for a lab if you do not attend class unless a prior arrangement is made given a valid reason (see attendance policy). Homework will be individual work unless otherwise stated and is intended to be done outside of class time. Work that is not your own will be considered a violation of the honor code. Class time may be used for working on homework if you have completed the lab work for that class period.

Team Assignments

Students will be assigned to a team at the beginning of the semester. Each team will be responsible for completing two major projects during the semester. Some group work will include a REQUIRED peer evaluation component which can adjust that portion of the individual’s grade up to 50%. If a student should fail to contribute to a group assignment at all, their grade for that assignment will be reduced to a zero. Failure to complete the peer evaluation will result in a 10% grade deduction for that assignment.

Topic Research

Each team will be given a topic to research. The team will locate and organize materials to use when presenting the topic to the class. The materials should include both online and offline resources. The team will then create a presentation to share the information about their topic with the class. That research will then be used to write the wiki article.

Wiki Article

Each team will use the material collected for the topic research project, as well as information from the resulting class discussions, to create an article to be added to the final course wiki. The article is expected to be a thorough examination of the topic and should be written in such a way that others taking this course can read it and understand the material. The team will be responsible for finalizing the entire draft of the wiki and making sure it has a consistent design and feel to it.

Safe Zone Statement

We are part of the SafeZone community network of trained K-State faculty/staff/students who are available to listen and support you. As a SafeZone Ally, I can help you connect with resources on campus to address problems you face that interfere with your academic success, particularly issues of sexual violence, hateful acts, or concerns faced by individuals due to sexual orientation/gender identity. My goal is to help you be successful and to maintain a safe and equitable campus.

Standard Syllabus Statements

Info

The statements below are standard syllabus statements from K-State and our program. The latest versions are available online here .

Academic Honesty

Kansas State University has an Honor and Integrity System based on personal integrity, which is presumed to be sufficient assurance that, in academic matters, one’s work is performed honestly and without unauthorized assistance. Undergraduate and graduate students, by registration, acknowledge the jurisdiction of the Honor and Integrity System. The policies and procedures of the Honor and Integrity System apply to all full and part-time students enrolled in undergraduate and graduate courses on-campus, off-campus, and via distance learning. A component vital to the Honor and Integrity System is the inclusion of the Honor Pledge which applies to all assignments, examinations, or other course work undertaken by students. The Honor Pledge is implied, whether or not it is stated: “On my honor, as a student, I have neither given nor received unauthorized aid on this academic work.” A grade of XF can result from a breach of academic honesty. The F indicates failure in the course; the X indicates the reason is an Honor Pledge violation.

For this course, a violation of the Honor Pledge will result in sanctions such as a 0 on the assignment or an XF in the course, depending on severity. Actively seeking unauthorized aid, such as posting lab assignments on sites such as Chegg or StackOverflow, or asking another person to complete your work, even if unsuccessful, will result in an immediate XF in the course.

This course assumes that all your course work will be done by you. Use of AI text and code generators such as ChatGPT and GitHub Copilot in any submission for this course is strictly forbidden unless explicitly allowed by your instructor. Any unauthorized use of these tools without proper attribution is a violation of the K-State Honor Pledge .

We reserve the right to use various platforms that can perform automatic plagiarism detection by tracking changes made to files and comparing submitted projects against other students’ submissions and known solutions. That information may be used to determine if plagiarism has taken place.

Students with Disabilities

At K-State it is important that every student has access to course content and the means to demonstrate course mastery. Students with disabilities may benefit from services including accommodations provided by the Student Access Center. Disabilities can include physical, learning, executive functions, and mental health. You may register at the Student Access Center or to learn more contact:

Students already registered with the Student Access Center please request your Letters of Accommodation early in the semester to provide adequate time to arrange your approved academic accommodations. Once SAC approves your Letter of Accommodation it will be e-mailed to you, and your instructor(s) for this course. Please follow up with your instructor to discuss how best to implement the approved accommodations.

Expectations for Conduct

All student activities in the University, including this course, are governed by the Student Judicial Conduct Code as outlined in the Student Governing Association By Laws , Article V, Section 3, number 2. Students who engage in behavior that disrupts the learning environment may be asked to leave the class.

Mutual Respect and Inclusion in K-State Teaching & Learning Spaces

At K-State, faculty and staff are committed to creating and maintaining an inclusive and supportive learning environment for students from diverse backgrounds and perspectives. K-State courses, labs, and other virtual and physical learning spaces promote equitable opportunity to learn, participate, contribute, and succeed, regardless of age, race, color, ethnicity, nationality, genetic information, ancestry, disability, socioeconomic status, military or veteran status, immigration status, Indigenous identity, gender identity, gender expression, sexuality, religion, culture, as well as other social identities.

Faculty and staff are committed to promoting equity and believe the success of an inclusive learning environment relies on the participation, support, and understanding of all students. Students are encouraged to share their views and lived experiences as they relate to the course or their course experience, while recognizing they are doing so in a learning environment in which all are expected to engage with respect to honor the rights, safety, and dignity of others in keeping with the K-State Principles of Community .

If you feel uncomfortable because of comments or behavior encountered in this class, you may bring it to the attention of your instructor, advisors, and/or mentors. If you have questions about how to proceed with a confidential process to resolve concerns, please contact the Student Ombudsperson Office . Violations of the student code of conduct can be reported using the Code of Conduct Reporting Form . You can also report discrimination, harassment or sexual harassment , if needed.

Netiquette

Info

This is our personal policy and not a required syllabus statement from K-State. It has been adapted from this statement from K-State Global Campus, and theRecurse Center Manual . We have adapted their ideas to fit this course.

Online communication is inherently different than in-person communication. When speaking in person, many times we can take advantage of the context and body language of the person speaking to better understand what the speaker means, not just what is said. This information is not present when communicating online, so we must be much more careful about what we say and how we say it in order to get our meaning across.

Here are a few general rules to help us all communicate online in this course, especially while using tools such as Canvas or Discord:

  • Use a clear and meaningful subject line to announce your topic. Subject lines such as “Question” or “Problem” are not helpful. Subjects such as “Logic Question in Project 5, Part 1 in Java” or “Unexpected Exception when Opening Text File in Python” give plenty of information about your topic.
  • Use only one topic per message. If you have multiple topics, post multiple messages so each one can be discussed independently.
  • Be thorough, concise, and to the point. Ideally, each message should be a page or less.
  • Include exact error messages, code snippets, or screenshots, as well as any previous steps taken to fix the problem. It is much easier to solve a problem when the exact error message or screenshot is provided. If we know what you’ve tried so far, we can get to the root cause of the issue more quickly.
  • Consider carefully what you write before you post it. Once a message is posted, it becomes part of the permanent record of the course and can easily be found by others.
  • If you are lost, don’t know an answer, or don’t understand something, speak up! Email and Canvas both allow you to send a message privately to the instructors, so other students won’t see that you asked a question. Don’t be afraid to ask questions anytime, as you can choose to do so without any fear of being identified by your fellow students.
  • Class discussions are confidential. Do not share information from the course with anyone outside of the course without explicit permission.
  • Do not quote entire message chains; only include the relevant parts. When replying to a previous message, only quote the relevant lines in your response.
  • Do not use all caps. It makes it look like you are shouting. Use appropriate text markup (bold, italics, etc.) to highlight a point if needed.
  • No feigning surprise. If someone asks a question, saying things like “I can’t believe you don’t know that!” are not helpful, and only serve to make that person feel bad.
  • No “well-actually’s.” If someone makes a statement that is not entirely correct, resist the urge to offer a “well, actually…” correction, especially if it is not relevant to the discussion. If you can help solve their problem, feel free to provide correct information, but don’t post a correction just for the sake of being correct.
  • Do not correct someone’s grammar or spelling. Again, it is not helpful, and only serves to make that person feel bad. If there is a genuine mistake that may affect the meaning of the post, please contact the person privately or let the instructors know privately so it can be resolved.
  • Avoid subtle -isms and microaggressions. Avoid comments that could make others feel uncomfortable based on their personal identity. See the syllabus section on Diversity and Inclusion above for more information on this topic. If a comment makes you uncomfortable, please contact the instructor.
  • Avoid sarcasm, flaming, advertisements, lingo, trolling, doxxing, and other bad online habits. They have no place in an academic environment. Tasteful humor is fine, but sarcasm can be misunderstood.

As a participant in course discussions, you should also strive to honor the diversity of your classmates by adhering to the K-State Principles of Community .

Discrimination, Harassment, and Sexual Harassment

Kansas State University is committed to maintaining academic, housing, and work environments that are free of discrimination, harassment, and sexual harassment. Instructors support the University’s commitment by creating a safe learning environment during this course, free of conduct that would interfere with your academic opportunities. Instructors also have a duty to report any behavior they become aware of that potentially violates the University’s policy prohibiting discrimination, harassment, and sexual harassment, as outlined by PPM 3010 .

If a student is subjected to discrimination, harassment, or sexual harassment, they are encouraged to make a non-confidential report to the University’s Office for Institutional Equity (OIE) using the online reporting form . Incident disclosure is not required to receive resources at K-State. Reports that include domestic and dating violence, sexual assault, or stalking, should be considered for reporting by the complainant to the Kansas State University Police Department or the Riley County Police Department . Reports made to law enforcement are separate from reports made to OIE. A complainant can choose to report to one or both entities. Confidential support and advocacy can be found with the K-State Center for Advocacy, Response, and Education (CARE) . Confidential mental health services can be found with Lafene Counseling and Psychological Services (CAPS) . Academic support can be found with the Office of Student Life (OSL) . OSL is a non-confidential resource. OIE also provides a comprehensive list of resources on their website. If you have questions about non-confidential and confidential resources, please contact OIE at equity@ksu.edu or (785) 532–6220.

Academic Freedom Statement

Kansas State University is a community of students, faculty, and staff who work together to discover new knowledge, create new ideas, and share the results of their scholarly inquiry with the wider public. Although new ideas or research results may be controversial or challenge established views, the health and growth of any society requires frank intellectual exchange. Academic freedom protects this type of free exchange and is thus essential to any university’s mission.

Moreover, academic freedom supports collaborative work in the pursuit of truth and the dissemination of knowledge in an environment of inquiry, respectful debate, and professionalism. Academic freedom is not limited to the classroom or to scientific and scholarly research, but extends to the life of the university as well as to larger social and political questions. It is the right and responsibility of the university community to engage with such issues.

Campus Safety

Kansas State University is committed to providing a safe teaching and learning environment for student and faculty members. In order to enhance your safety in the unlikely case of a campus emergency make sure that you know where and how to quickly exit your classroom and how to follow any emergency directives. Current Campus Emergency Information is available at the University’s Advisory webpage.

Student Resources

K-State has many resources to help contribute to student success. These resources include accommodations for academics, paying for college, student life, health and safety, and others. Check out the Student Guide to Help and Resources: One Stop Shop for more information.

Student Academic Creations

Student academic creations are subject to Kansas State University and Kansas Board of Regents Intellectual Property Policies. For courses in which students will be creating intellectual property, the K-State policy can be found at University Handbook, Appendix R: Intellectual Property Policy and Institutional Procedures (part I.E.) . These policies address ownership and use of student academic creations.

Mental Health

Your mental health and good relationships are vital to your overall well-being. Symptoms of mental health issues may include excessive sadness or worry, thoughts of death or self-harm, inability to concentrate, lack of motivation, or substance abuse. Although problems can occur anytime for anyone, you should pay extra attention to your mental health if you are feeling academic or financial stress, discrimination, or have experienced a traumatic event, such as loss of a friend or family member, sexual assault or other physical or emotional abuse.

If you are struggling with these issues, do not wait to seek assistance.

For Kansas State Salina Campus:

For Global Campus/K-State Online:

  • K-State Online students have free access to mental health counseling with My SSP - 24/7 support via chat and phone.
  • The Office of Student Life can direct you to additional resources.

University Excused Absences

K-State has a University Excused Absence policy (Section F62) . Class absence(s) will be handled between the instructor and the student unless there are other university offices involved. For university excused absences, instructors shall provide the student the opportunity to make up missed assignments, activities, and/or attendance specific points that contribute to the course grade, unless they decide to excuse those missed assignments from the student’s course grade. Please see the policy for a complete list of university excused absences and how to obtain one. Students are encouraged to contact their instructor regarding their absences.

Face Coverings

Kansas State University strongly encourages, but does not require, that everyone wear masks while indoors on university property, including while attending in-person classes. For additional information and the latest updates, see K-State’s face covering policy .

Subject to Change

The details in this syllabus are not set in stone. Due to the flexible nature of this class, adjustments may need to be made as the semester progresses, though they will be kept to a minimum. If any changes occur, the changes will be posted on the K-State Canvas page for this course and emailed to all students.

Copyright 2023 (Joshua L. Weese and Emily Alfs-Votipka) as to this syllabus, all lectures, and course content. During this course students are prohibited from selling notes to or being paid for taking notes by any person or commercial firm without the express written permission of the professor teaching this course. In addition, students in this class are not authorized to provide class notes or other class-related materials to any other person or entity, other than sharing them directly with another student taking the class for purposes of studying, without prior written permission from the professor teaching this course.