CS 101 Fundamentals of Computing

From Computer Science
Jump to: navigation, search

This page contains the syllabus for CS 101 and is used to keep track of assignments etc. (this syllabus heavily Authored by Luke May and Jeff Kinne. Updated by Xavier Saunders)

Fall 2023 - Syllabus and Information

General Course Information

Course Description: The main focus of the course is to give students a practical understanding of computing to become well-informed citizens and professionals in the computing age. Topics may include a basic study of - computational thinking, computer security, big data, artificial intelligence, and current trends in computing.

Instructor:
Ms. Xavier Saunders
Office Hours: TBA
E-mail: Xavier.Saunders@indstate.edu

Credit Hours: 3.0

Prerequisites: None

Course Website: https://cs.indstate.edu/~xsaunders/CS101


Required Texts: * Free Digital E-book - Automate the Boring Stuff by Al Sweigart: https://automatetheboringstuff.com/

Required Software:

  • Python 3
  • Code Editor - Atom Text Editor (You may use others like Sublime Text, VS Code, etc.)
  • Putty or other access to the CS server (cs.indstate.edu)

Optional/Recommended Texts and/or Resources:

Review Materials



Class Sections - Lecture Times, Locations, and Info

CS101-002 (CRN 51299)

  • Learning Style: In-person
  • Schedule: MWF 9:00am - 9:50am Optional Synchronous online
  • Location: Root Hall (RO) A017

CS101-301 (CRN 50911)

  • Learning Style: Asynchronous Online / Optionally In-person(as space allows) or Synchronous Online
  • Schedule: No regular meeting
  • Optional Synchronous meeting time: MWF 9:00am - 9:50am
  • Location: Online via Course Website

Know that synchronous online, while I focus on other students in front of me, is not ideal. You will be expected to contact me frequently via e-mail, zoom, or otherwise find what works for you.


Course Outline

  • How Computers Work: Binary number systems, protocols, and basic circuits
  • What is inside a computer: CPU, RAM, hard drive, etc.
  • Internet 101: how data is moved around the internet
  • Computer and internet security: how do you know your data is secure?
  • Servers and such: logging into a server, transferring files
  • Python basics: Learning the Python 3 programming language
  • Computational problems: things computers can do really well, and things that are impossible for computers to solve
  • Current Topics in Computer Science: Basic understanding of some of the latest trends in Computer Science

Learning Outcomes

Students will be able to:

  • Install and use an appropriate set of software tools to create simple computer programs
  • Name the different components that make up a computer.
  • Name the connection ports on a computer.
  • Describe what the terminology associated with a component means (e.g., Ghz for CPU’s is the speed of the CPU, GB for the size of a hard drive).
  • Evaluate the trade offs between different components (e.g., one CPU versus another)
  • Explain the basic infrastructure of the internet and associated terminology.
  • Explain the infrastructure of a home network, and be able to configure a home network.
  • Explain how web browsing and email works, in terms of which parties are involved (e.g., server and client), where data is stored, and what communication is involved.
  • Explain the concepts of encryption/decryption, digital signing, and the difference between public-key and private-key encryption.
  • For given situations, be able to say whether a given interaction is secure or not. Know the key terminology of internet security (e.g., rsa, sha, https, etc.).
  • Explain what servers are used for
  • Be able to log in to a server to transfer files to a server, and login via ssh to issue commands to the server
  • Explain the basic structure of a python program
  • Be able to create and run simple python programs.
  • Should be able to effectively use at least one GUI-based text editor.
  • Basic skills in evaluating the efficiency of an algorithm.
  • Explain some examples of computational problems that either cannot be solved, or require an inordinate amount of time to solve (e.g., halting problem).
  • Understand what a simple cipher is and be able to describe one.
  • Be able to calculate how difficult is would be to break a simple cipher given the implementation rules.
  • Understand the concept of the “Turing test” as a test of artificial intelligence.
  • Know the history of some famous examples of “artificial intelligence” (e.g., chess playing, Jeopardy playing, chat-bots).
  • Understand how machine learning is different yet related to artificial intelligence
  • Be able to describe the basic components of a Neural Network.

Students will demonstrate an understanding of:

  • Binary number system
  • Boolean logic
  • Protocols and how systems communicate
  • Basic circuitry
  • How computers work
  • What is inside a computer
  • Computer and internet security
  • How is data stored on a server, and how do we access data
  • Python basics
  • Computational problems
  • Simple Ciphers and Encryption
  • Artificial Intelligence and Machine Learning



Late Work

Do not not count on turning in your late work. IF I'm accepting late work, the main assignment will be required as well as a second assignment done in person or otherwise under scrutiny (zoom for online students). Late assignments may or may not be for full credit. Quizzes will normally need to be taken on the day they are due, or perhaps within a few days of when they are due, be sure to be in class. Not accepting late work is in part because it takes much longer to grade quizzes/assignments that are no longer super fresh in the instructor's head; and in part to try to keep everyone in the class working on the same material.

DO NOT MISS EXAMS - Late exams are generally not accepted. A rare exception may be made for extenuating circumstances evaluated at the discretion of the instructor. Some such circumstances may include a serious medical absence with supporting documentation, house fire/flooding, etc. In the case of missing the final exam with justifiable reason, you may have an additional day or two to complete it, but because the semester is ending there isn't much time to work with.

Start Assignments and Quiz Studying Early - I suggest starting assignments the day they're given. I NEVER suggest completing an assignment in one setting. You will work better encountering a problem, thinking about it, and coming back to doing it. Not to mention leveraging time spent with the instructor on problems you become aware of.

Expected Amount of Work - My expectation is that an average student will spend about 4-8 hours OUTSIDE of class each week (that is in addition to class time or viewing lecture videos) WORKING PRODUCTIVELY/EFFICIENTLY (not just staring at the computer) to complete their coursework for this class. Some students may spend less time than this, and some students will spend more. If you find yourself spending the upper end of, or exceeding these hours contact me; bring your notes and study schedule.


Course Policies

This course follows standard CS course policies. In particular check the CS course policies related to - cheating/plagiarism, attendance, missing exams. See http://cs.indstate.edu/info/policies.html for details. The below policies are for this particular course.

Attendance and Illness Policy

Attendance is expected for in-person and synchronous online sections, however, it will not be directly tracked beyond assignment submission and electronic communications activity (chat/email). For in-person and synchronous online sections you should arrive to class or login to the meeting prior to the scheduled start time. Late arrivals are disruptive to those who arrived on time.

If you feel ill in any way, please do not come to class. There will be no attendance penalty. All in-person lecture material is recorded via Zoom and accessible through the Canvas Zoom tool. All course announcements and assignments are available via the course website.

If you are experiencing something that may prevent the completion of your assigned work, please email your instructor as soon as you are aware of the situation. Assignments will not be extended nor will they be allowed to be made up unless the situation is sufficiently debilitating and there is medical documentation to corroborate the condition. Any and all other issues preventing the completion of student work will be examined and evaluated at the discretion of the instructor. Most, if not all, will not warrant policy exceptions.

Work Ethic

This course should give you the tools for achieving competency over the given topic, but you should be doing much more than the assigned material in order to be successful. By definition of minimum, you can do better. Consider personal projects, which can help crystallize difficult concepts and solidify your skills. These projects are excellent additions to portfolios, too, which are a critical component to most successful job interviews.

If you take this class seriously you should be spending between 1-2 hours per credit hour on course work (not including lectures). Generally, students who receive A's are putting in the appropriate amount of work. If you find you're spending more than 2-3 hours per credit hour, write to me about it.

Course Website and Announcements

The majority of this course will be run through the course website linked at the top of this document. The course website contains announcements, a schedule of due dates, course assignments, lecture materials, and even links to exams and projects. You should check this site daily to ensure that you do not miss assignments or content.

Announcements regarding the course will be posted under the Announcements section of the course website. Announcements may also be made during class (if applicable), via Zoom, or via your ISU sycamores email account. You are responsible for being aware of announcements however they were communicated, so regularly check the course website, attend class, and your check email. The Announcements section of the course website should be the most comprehensive list of any and all course activity, so check it regularly.

Canvas Course Management Software

This course uses the course management software called Canvas (https://indstate.instructure.com/). You should see this course listed under your courses for the current term in Canvas. Canvas is only used for 2 purposes in this course (potentially only 1).

  1. Grade book (all courses)
    • Your grades on assignments and exams will be emailed back to you once they are graded, then the grades will be entered in Canvas. Go to this course in Canvas, then click on Grades. All course content (lecture material, assignments, tutorials, due dates, etc.) is kept and maintained on the course website. You are ultimately responsible for your own grade, so make sure these grade values match to reduce the risk of clerical errors.
  2. Recorded lectures (only if your course has a concurrent in-person section)
    • In Canvas click on your calendar and locate the course meeting you would like to join, or click any course for recorded lectures. To join one live (for synchronous online sections or in-person sections), just click the Join button to join synchronously. If you want to see a past recording of a lecture (asynchronous people), click the Cloud Recordings tab, then select the recording. The passcode will be copied automatically to you clip-board. Paste in the passcode when prompted.

Laptop Usage Policy

Laptop Required for Course: Regular Usage

For the purposes of this course, it will be assumed that you are in compliance with the mandatory laptop policy of the University. You will be expected to bring your laptop and be ready to use it for every class period. Usage of the laptop must conform to the provisions of this course as laid out in this syllabus as well as the Code of Student Conduct.

  • Exception: If you are comfortable using the CS lab computers effectively enough to complete all class activities, you will not be required to bring your laptop. You should disinfect the lab keyboards and mice before and after each use.

I encourage you to use your computer during class if you are using it to follow along with the examples that are being discussed. You should not check social media or work on other courses, other projects, etc. during class. Do not consume or share any inappropriate material at any time. Be professional so that you may become a professional.

Cell Phone Usage Policy

You may only use cell phones for things related to the course work and topics or for urgent communications. During lab coding time you may use headphones to listen to music IF AND ONLY IF no one else can hear it (no exceptions). If I can hear your headphones that means you are being disruptive, and if I have to ask you to turn down a device more than once, you may be asked to leave that day’s lecture.

Professionalism and Conduct

Instructors and students are your colleagues in this academic setting; treat them with kindness and respect. Any software platforms used for the class (MS Teams, Zoom, CS server accounts etc.) will be considered an extension of the classroom, so all policies on classroom conduct apply. Be courteous and professional. Harassment of any kind will not be tolerated and will result in severe consequences. Do not share explicit material (of any kind), and do not share content if you think there is a reasonable likelihood that it may offend someone else. Common sense "Not Safe for Work" rules apply.

The intentional or malicious use or modifications of systems, software, configurations/settings, to undermine another student's educational experience will not be tolerated and may warrant extreme academic consequences on par with plagiarism. Malicious tampering with user accounts, settings, or systems of students, instructors, or any other group or individual will be penalized severely. Unauthorized use/abuse of university resources is strictly forbidden and can result in extreme academic (and potentially legal) consequences. This could be considered anything outside of designated course work or faculty authorized activities. Examples of things to avoid: launching an email phishing campaign, mining crypto currencies, attempting to illegally access information systems, etc.

If you break the conduct policies, your access to required course software can and will be revoked. In that case, you will automatically forfeit any points on any assignments that required their use, and, depending on the severity, you may be removed from the course with an F grade. Legal consequences may also apply, depending on the activity.

Official ISU Policy on Academic Integrity

As a student at Indiana State University you are expected to practice personal and academic integrity; commit your energies to the pursuit of truth, learning, and scholarship; foster an environment conducive to the personal and academic accomplishment of all students; avoid activities that promote bigotry or intolerance; choose associations and define your relationships with others based on respect for individual rights and human dignity; conduct your life as a student in a manner that brings honor to yourself and to the University Community; and discourage actions or behaviors by others that are contrary to these standards.

  • Adopted by the Indiana State University Student Government Association April 17, 2002

Cheating and Plagiarism

Follow the standard CS Course Policies to determine what is and is not allowed on assignments.

Ask the instructor if you have doubts about what is considered cheating in this course or for a particular assignment. Copying work from external websites or tutorial videos is not acceptable without explicit permission from the instructor, or unless the assignment specifically instructs you to do so. For undergrads, a first offense will result in a zero grade on the assignment, and a second offense will result in failure of the course, and potential expulsion. For grad students, it’s an automatic course failure, and potential expulsion.

Asking for Help

Make sure you ask for help sooner, rather than later, if you feel yourself falling behind or if you are struggling to understand any concepts. Addressing any problems as soon as possible will greatly improve your likelihood of success. Do not wait until the end of the semester; that will be far too late!

Your primary method of contact should be email I know everybody has one. Feel free to include screenshots or files. Know that I do not respond to email from outside of campus, you must use your sycamores.indstate.edu account (or an indstate.edu if you happen to have one). My email is Xavier.Saunders@indstate.edu

CS Unix Lab

Help is available via the CS Unix lab, where we have hired undergraduate and graduate students to act as tutors and to provide conceptual guidance to other students. Student employees are not there to do your work for you, they are specifically forbidden from doing so. They are there to help guide you through any concepts you may not be understanding, but they should not be doing your work. Do not expect them to help you indefinitely if you are not willing to put forth the appropriate effort. If you would like to schedule an in-person or online appointment, you may use the resources below:


Grade Cutoffs

We will be doing what I am calling "achievements-based" grading. There are a series of skills, knowledge, and experiences that I want you to achieve. Your final letter grades will be based strictly on which of these you have completed. For each achievement, you can achieve the rating of incomplete, pass-, pass, pass+. The following will be our starting point for how letter grades will be assigned. I will reevaluate this throughout the term to make sure we are on track. I will also be setting the standards for pass-, pass, and pass+ for each of the achievements as we get to them in the course.

Assigning points to these achievements allows you to generalize your progress through the generally accepted ISU grading scale on Canvas. I try to design homework assignments and exams so that a standard cutoff for grades will be close to what you deserve.

This table also explains a rough meaning of grades.

Letter Percent Grade Meaning
A 94-100 A+/A You are very well-prepared to use these skills in the real world.
A- 90-94 A-/B+ You understand nearly everything and should be able to use this knowledge in other courses or a job.
B+ 87-90
B 84-87 B/B- Most things you understand very well and a few you might not.
B- 80-84
C+ 77-80 C+/C Learned enough and have the minimum skills to move on in the subject.
C 74-77
C- 70-74 C-/D+ You put some effort in, you understand many concepts at a high level, but you haven’t mastered the details well enough to be able to use this knowledge in a practical way.
D+ 67-70
D 64-67
D- 60-64 D- You will normally not get an F if you attend 80% of the lectures, complete most of the assignments up through the end of the course, and get nearly half of the problems on the final exam correct.
F 0-60 F Normally, students that get an F simply stopped doing the required work at some point.


Grading and Assignments

Student Responsibilities

  • Consume assigned lecture material before lecture: books, videos, articles, etc.
  • Attend lecture if in-person or or synchronous class, otherwise watch lecture material in a timely manner.
  • Take and submit quizzes using the online quiz system.
  • Complete labs following the instructions provided on the course website.
  • Take the exams.
  • Confirm that assignment grade sheets match Canvas grade book entries.

Course Grade Breakdown

Designing with achievements in mind, and providing you every opportunity to turn your mistakes around. My point system looks like the following.

Grade Item Percentage of Total Grade
Quizzes 30%
Labs 30%
Midterm Exam 20%
Final Exam 20%

Your single lowest grade at the end of the semester will not be counted.

Quizzes:

I generalize the quiz process below. I will include Canvas' entire range of tools.

Each quiz will have questions of type multiple choice, select all that apply, and/or short answer. If not otherwise indicated, each answer will be worth 1 point. Quiz data is randomized on a per student basis. You may complete the quizzes at any time between when they are assigned and when they are due. In some cases, quizzes may also be timed. In this case, once you begin the quiz you will be required to complete it entirely before the time expires, at which point you will be locked out of the quiz. Once you begin, the timer starts (no exceptions), so make sure you have a stable internet connection before you begin. Individual quizzes are not equally weighted. The sum of all quiz points from each of the quizzes will be your final quiz score.

Labs: Labs are generally activities that require interaction with a computer system. They generally result in the creation of digital media of some kind. All labs will be turned in by submitting your work via the CS Server using your provided CS User Accounts.

Exams: Exams will be a combination of a quizzes and labs. Exams can be taken online at your leisure on the day of the exam. In-class sections may be required to take the exam in-person at the discretion of the instructor.

  • Quiz portion - The quiz portion is timed and covers similar (if not the exact same) questions from previously assigned quizzes.
  • Lab portion - The lab portion of the midterm is a lab activity that you should reasonably be expected to complete in about an hour or two. For the final the lab portion will likely be a larger project, and may take 3-4 hours, but you will have ample time to work on it. On the midterm you will usually have the whole day to complete the lab portion. For the final, you will usually have around a week.

A quiz or a lab will usually occur once a week, depending on the speed at which we cover the material. Start work early!

Official ISU Policy on COVID-19 (Every Syllabus)

Students are expected to adhere to course attendance policies, as stated in the course syllabus. Documented COVID-related absences will be treated like any other serious medical issue. Following University policy, students with a documented, serious medical issue must contact the Office of the Dean of Students for assistance. The Office of the Dean of Students will supply documentation for faculty. Students with a documented serious medical issue should not be penalized and will be given a reasonable chance to complete exams or assignments. Once notification is made, faculty will make reasonable efforts to accommodate the student's absence and will communicate that accommodation directly to the student. Please note that faculty are not required to accommodate a serious medical issue with virtual content options, like streaming or recorded lectures. To avoid the potential of missing significant class time, students are strongly encouraged to receive the COVID vaccination that has been made available on campus. For more information about the vaccines or to find a vaccination site, go to: ourshot.in.gov The ISU Health Center also administers COVID-19 vaccines by appointment.

Students should contact the Office of the Dean of Students with questions by calling 812-237-3829

The information provided in this section of the syllabus is subject to modification based on guidance by public health authorities. Changes to Covid-related policies or updated information will, as always, be posted on the ISU website and communicated in multiple ways.

Academic Freedom

"Teachers are entitled to freedom in the classroom in discussing their subject, but they should be careful not to introduce into their teaching controversial matter which has no relation to their subject."

The preceding comes from the American Association of University Professors statement on academic freedom. Though the entire statement speaks to many issues, it is this portion on the conduct of the course that is most relevant. This means that faculty have the right to conduct their class in a fashion they deem appropriate as long as the material presented meets the learning objectives laid out by the entire faculty. http://www.aaup.org/AAUP/pubsres/policydocs/contents/1940statement.htm



University Resources

Student Outreach and Well-being

For help with academic and/or personal issues contact Sycamores Care (https://www.indstate.edu/student-affairs/sycamores-care). At Indiana State, we care for your overall well-being, and we want to help you get the care, referrals, and answers you need to ensure your success.

Americans with Disabilities Act Policy

If I've not e-mailed that this sentence doesn't apply to you, then I have not received information about this policy. If you think I should have contact either me or these resources again.

Indiana State University seeks to provide effective services and accommodation for qualified individuals with documented disabilities. If you need an accommodation because of a documented disability, you are required to register with Disabled Student Services within the Center for Student Success.

Center for Student Success

Student Disclosure of Sexual misconduct

Indiana State University fosters a campus free of sexual misconduct including sexual harassment, sexual violence, intimate partner violence, stalking, and/or any form of sex or gender discrimination. If you disclose a potential violation of the sexual misconduct policy to a faculty or staff member, the Title IX Coordinator will be notified. To make a report to the Title IX Coordinator, visit the Equal Opportunity and Title IX website.

Students who have experienced sexual misconduct are encouraged to contact confidential resources listed below.

The ISU Student Counseling Center: Hulman Memorial Student Union, 7th Floor; 812-237-3939

The ISU Victim Advocate: Trista Gibbons; Hulman Memorial Student Union, 7th Floor; 812-237-3939 (office); 812-230-3803(cell);trista.gibbons@indstate.edu

Campus Ministries

For more information on your rights and available resources, visit the Equal Opportunity and Title IX website.