Tags:
create new tag
view all tags

SCMP 191 - Introduction to Computer Science

Fall 2018

  • Class: 9:40-11:00am Tuesday and Thursday
  • Lab: 7:00-10:00pm Tuesday

Instructor: James Skon, Hayes 309c, 740-427-5369

Office hours: 10-11 MWF, 2-3 M-F

This course is a introduction to the intellectual scope of computer science and to the art or computer programming. This in an entry-level course for students of all majors, both with and without previous programming experience. The topics of the course includes abstraction, algorithms, data structures, security, software engineering, and web development. The languages include Python, SQL, Javascript, and also CSS and HTML. The problems are based on real life domains such as ..... Offered every semester.

Course Overview

  • An introduction to computer science in general
  • An introduction to programming with Python
  • Two daily classes Tuesday/Thursday at 9:40-11:00 am
  • Evening lab session Tuesday 7:00-10:00 pm (required)
  • POGIL group activities during most classes
  • Regular individual lab assignments
  • Computer history essays weekly

Texts

  • Invitation to Computer Science 8th Edition (ICS), by G.Michael Schneider, Judith Gersting, Cengage Learning, 2018, link
  • How To Think Like A Computer Scientist: Interactive edition (HTT): link (Free online text). link (PDF Text).You need to register for a free account, and join the class.
  • Think Python 3 (TP) - free download: link (Free PDF)
  • Programming In Python (PP) : link (Free PDF)

Python 3

In this course we will be learning Python 3. We will be using Anaconda Python 3, with Spyder as the IDE (Integrated Development Environment).

Download here: Python: link and Anaconda: link

You can also use python online at the following sites:

  • repl.it - link
  • pythontutor - visualize code operation: link
  • codeskulptor - link

POGIL

Process Oriented Guided Inquiry Learning (POGIL) is a pedagogy that is based on research on how people learn and has been shown to lead to better student outcomes in many contexts and in a variety of academic disciplines. Beyond facilitating students’ mastery of a discipline, it promotes vital educational outcomes such as communication skills and critical thinking. Its active international community of practitioners provides accessible educational development and support for anyone developing related courses.

We will be learning about POGIL early in the class, and using this method on a daily basis.

Each activity is a link to a Google Doc. You must be logged into your Kenyon account to access. One member of the team will open the link, and make a copy in the same directory with your team name (color). The team will then work together to document the process on that document.

Useful POGIL links

POGIL Roles:

On teams of less then four students some will have 2 roles

Group Assignments

POGIL Process Skills - skills you want to develop

POGIL Process Analyst Report - The Process Analyst completes this after every activity

POGIL Feedback - complete this after every activity

Online resourses

This course uses several online tools for learning and assessing student progress. All of these resources are free of cost but some require the creation of a login account. It is essential that everyone participaite in the associated activities as all are part of the learning process, and some are graded activities.

  • How To Think Like A Computer Scientist: Interactive edition - This is an online interactive book. You must register, and complete the exercises in the assigned readings. Use "KenyonIntroCS" as the course name.
  • Introduction to Computer Science @ Kenyon - This is an environment for learning Python learning Environment that is based on repl.it. Regular Python exercises will be assignmed as graded homework from this environment. Follow the link and create an account. Select Kenyon College as your college. The you should see the class.

Assignments

Due Date: All assignments are due as specified in the grading table below.

Missing Lab Assignments: Labs are an important part of this class; the effort spent on them is a crucial part of the learning process. Failure to submit labs is unacceptable: students earning 0s on two labs cannot receive a grade higher than a B- for the course; students earning three 0s on labs will receive an automatic F for the course.

Collaboration and Academic Honesty: In order to facilitate learning, students are encouraged to discuss assignments amongst themselves. Copying a solution is not, however, the same as “discussing.'' A good rule of thumb is the “cup of coffee'' rule. After discussing a problem, you should not take away any written record or notes of the discussion. Go have a cup of coffee or cocoa, and read the front page of the newspaper. If you can still re-create the problem solution afterward from memory, then you have learned something, and are not simply copying. (The “group work” are exempt from this, as they are intended to be done together.)

Computer History Assignments: Once a week you will turn in a brief essay on some computer history fact from the Computer History Museum ( Timeline) (or other computer history source). One or two people people will be chosen each week to oraly describe what they found in 2 minutes at the beginning of class. I will ask for volunteers, but will cycle through everyone before I repeat anyone. The idea is give to us all an opportunity to explore the history of computer science, and to find something that interests each of us. Start by going to the computer history timeline, and for each assignment explore the requested years until you find something interesting. Then write up a 200-300 word essay about what you found, what you found compelling, and why you think it is significant. Write the essay in Moodle, and include a link to the item you found so it can be displayed while you share in class. These are due midnight before the day they will be presented (and appear in the calendar below). Late submissions will not be accepted on these assignments.

Grading

Category % Notes
History Essays 5% Due by class time on day assigned. Not accepted Late
Quizzes 10% In class, at beginning. Weekly. No makeup without medical note.
Text Questions 5% Due by class time on day assigned
POGIL Activities 20% Participation and team results. No credit if absent. Alternative assignment with medical note.
Individual Labs 30% No Collaboration allowed. Due by midnight on day due. 5% penalty for for up to 12 hours late. One assignment may be up to 24 hours late with no penalty with instructor notification.
Homework Assignments 10% Due by class on the day due. One assignment may be up to 24 hours late with no penalty with instructor notification. This includes questions in the interctive text ( uter Scientist: Interactive edition) and the assigned exercises in repl.it.
Exams 15% Midterm and Final
TOTAL 100%  

Schedule

Date Topics Reading Notes/Activities/Code Samples Slides Assignment
Aug 30 Introduction to Computer Science and course
Introduction to POGIL
First Python Program
History Assignments
 

Student Information Form
POGIL Role Wheel
POGIL Roles
POGIL Process Skills
POGIL Process Analyst Report
POGIL Activity 1
POGIL Feedback

ActiveCode Overview

repl.it - link
Day 1  
Sep 3 Optional - install Python on your computer   Hayes 311: 7:00-9:00pm    
Sep 4 Programs, languages, simple programming
Introduction to algorithms
ICS 1:General Introduction POGIL CS Activity on Algorithms
POGIL Process Analyst Report
POGIL Feedback
Algorithms Do all questions in HTT Ch 1
ICS Ch 1: 4, 9, 10, 11, 13
Lab Intro to Python
Python Lab 1
HTT 1 POGIL Introduction Python
POGIL Input and Variables
POGIL Process Analyst Report
POGIL Feedback
Intro Python  
Sep 6 ICS 2 - Algorithms
HTT Chapter 2.1-2.7 - Variables, data types, names, keywords, statements and expressions, operators and operands
ICS 2:
HTT Chapter 2.1-2.7
POGIL - Arithmetic Operations and Assignment Statements
Fun with candy bars
In Class Exercises (Start 2.1-2.D)
  HTT Ch 2.1-2.7
1930s
PythonHW 1 (2.1.-2.D)
Sep 11 HTT Chapter 2.8-2.11 - Input, Order of operation, reassignment, updating variables HTT Chapter 2.8-2.11 POGIL - Formatting Output
Format Cookbook
Division and Formatting HTT Ch 2.8-2.11
Lab HTT Chapter 7.1-7.9 HTT Chapter 7.1-7.9 POGIL - Boolean Expressions
POGIL - If then else
POGIL - While Loops
Expressions, Conditionals and Loops  
Sep 13 HTT Ch 4.1-4.6 Turtle Graphics HTT Chapter 4.1-4.6 POGIL - Turtles TurtlesClasses
Turtle Documentation
HTT 7.1-7.8
HTT 2.13 Exercises
1940-1944
Sep 18 Introduction to Computer Hardware,
Functions
ICS 4.1-4.2
HTT Chapter 5, 6
POGIL Void Functions
Functions PythonHW 2 (3.1.-3.O)
Lab 1
Lab Functions

HTT Chapter 5,6

ICS 4.1-4.2


POGIL Built-In Functions
POGIL Functions Returning Values
Function List
Math Functions
Turtle Racing

HTT Chapter 5
Sep 20

ICS 4.1-4.2 - Logic Gates, data representation
HTT 5 - Python Modules

Nested If-Else

ICS 4.3-4.4
HTT Ch 5

POGIL CS - Hardware Abstraction 2
POGIL Nested If-else statements
Gates Notes 1945-1949
HTT Ch 4 4.1-4.9
HTT Ch 6.1-6.6
Sep 25 For-Loops
HTT Ch 7 - Selection
HTT Ch 8
POGIL FOR Loops
Computing Loan Payoff
  HTT Ch 4.11
HTT Ch 5.6
HTT Ch 6.7-6.11
Lab 2 - Turtle Drawing
Lab
HTT Ch 8 - Iteration
HTT Ch 8 POGIL Number Systems 1
Base Converter
POGIL Nested Loops
Computing Loan Payoff
  Python HW 4.1-4.8
Sep 27 Binary Numbers   POGIL Binary Numbers
Turtle Animation
  HTT Ch 6.13
Python HW 4.9-4.A
1950-1954

Oct 2 Files HTT 11 Files Turtle Animation Revisited
POGIL Reading FIles
.
Emily Dickinson Experiment
  Lab 3
HTT - 5.6
Lab More Files   POGIL Writing Files
Emily Dickinson Write
  HTT Ch 7.10
Computing Loan Payoff
Oct 4 Image representation   POGIL CS - Hardware Abstraction 3
ImageExample
  1955-1959
HTT Ch 8.1-8.7
HTT Ch 7.10
HTT Ch 11
Turtle Animation
Oct 9 Strings HTT 9.1-9.7
ICS Ch 7.3
Making Sentences Lab Strings HTT Ch 8.8-8.11
HTT 8.14
Lab Internet, Strings   POGIL - Internet 1
Video: Warriors of the Net
Intro Networking  
Oct 11 October Break        
Oct 16 Midterm Exam   Study Guide   1960-1964
HTT Ch 11.9
Lab 4
Lab The internet ICS Ch 7.1-7.3
Watch: The Internet: Wires, Cables & Wifi
The Internet: IP Addresses & DNS
The Internet: Packets, Routing & Reliability
POGIL - Internet 2 Net Neutrality  
Oct 18 Python Lists and Strings

HTT Ch 9 .9-9.14


List and String Activity
  1965-1969
Lab 5
HTT 9.1-9.7
Oct 23 Lists HTT 10.1-10.10 POGIL - Lists Lists and Tuples HTT 9.8-9.14
Lab List Functions   POGIL - Internet 3
2 Dimensional Lists
Hangman Lab
Mac Address Activity
List Activities
 
Oct 25     POGIL List Functions
  1970-1974
Lab 6
ICS 7 Exercises 3, 4, 6, 13, 16, 17, 20
HTT 9-15-9.19
Oct 30   HTT 10.11-10.20 POGIL - Additional List Functions    
Lab HTT Ch 9 & 10 More Strings and Lists HTT 9.1-9.10 POGIL - More about Lists and Strings    
Nov 1     POGIL HTML 2   1975-1979
Lab 7
Nov 6 HTT Ch 11 - Reading Files HTT 11.1-11.7 POGIL - Reading Files    
Lab HTT Ch 11 - Writing Files   POGIL - Writing Files    
Nov 8 HTT Ch 12 - Dictionaries       1980-1984
Nov 13     POGIL Search 1    
Lab HTT Ch 13 - Exceptions        
Nov 15 HTT Ch 14 - Recursion   POGIL Web Search   1985-1989
Nov 17-25 Thanksgiving Break        
Nov 27 HTT Ch 14 - Recursion        
Lab HTT Ch 16 Objects and Classes        
Nov 29     POGIL Privacy in the Digital Age   1990-1994
Dec 4 HTT Ch 16 Objects and Classes        
Lab HTT Ch 17 Obects and Classes        
Dec 6     POGIL - Digital Censorship   1995-1999
Dec 11 HTT CH 17 Objects and Classes        
Lab Lab Work        
Dec 13 Lab Work       2000-2004
Dec 18 Final Exam - 8:30am        

Non Discrimination Statement

Kenyon College does not discriminate in its educational programs and activities on the basis of race, color, national origin, ancestry, sex, gender, gender identity, gender expression, sexual orientation, disability, age, religion, medical condition, veteran status, marital status, genetic information, or any other characteristic protected by institutional policy or state, local, or federal law. The requirement of non-discrimination in educational programs and activities extends to employment and admission.

All employees, including faculty, are considered Responsible Employees and must notify the College's Civil Rights & Title IX Coordinator with any relevant information.

For further information, please refer to the following Kenyon College policies:

Sexual Misconduct & Harassment: Title IX, VAWA, Title VII:
https://www.kenyon.edu/directories/offices-services/ocr/title-ix-vawa/kenyon-policies/title-ix-policy/

Discrimination & Discriminatory Harassment Policy (non sex or gender):
https://www.kenyon.edu/directories/offices-services/ocr/discrimination/

ADA & Section 504:
https://www.kenyon.edu/directories/offices-services/ocr/discrimination/504-ada-grievance/student-grievance-procedure-resolving-complaints-under-ada-section-504/

Disabilities

If you have any disability and therefore may have need for some type of accommodation in order to participate fully in this class, please feel free to discuss your concerns in private with Erin Salva, Coordinator of Disability Services (phone 5145).

Statement on Title XI
Kenyon College seeks to provide an environment that is free of gender bias, discrimination, andharassment. If you have been the victim of sexual harassment/misconduct/assault, interpersonal violence, or stalking we encourage you to report this. If you report this to a faculty member, she or he must notify Kenyon's Title IX coordinator of any information about the incident that you provide. Kenyon College's Title IX and VAWA Policy is available at: http://www.kenyon.edu/directories/offices-services/title-ix/policy/.

Resource

aubakirov1@kenyon.edu, bates1@kenyon.edu, christian2@kenyon.edu, doroskevica@kenyon.edu, duank@kenyon.edu, fitzgerald2@kenyon.edu, fu2@kenyon.edu, graf1@kenyon.edu, harrington1@kenyon.edu, heston1@kenyon.edu, kane1@kenyon.edu, li1@kenyon.edu, liu4@kenyon.edu, murphyje@kenyon.edu, raskea@kenyon.edu, segall1@kenyon.edu, susser1@kenyon.edu, westoverm@kenyon.edu

Topic attachments
I Attachment History Action Size Date Who Comment
PDFpdf Activity_1_-_Team_Roles_Student.pdf r1 manage 105.9 K 2018-08-16 - 01:20 JimSkon  
PDFpdf POGIL-CSP_-_Hardware_Abstraction_1_What_is_a_Computer_Student.pdf r1 manage 250.2 K 2018-08-22 - 20:43 JimSkon  
PDFpdf POGIL_role_cards_HACH.pdf r1 manage 129.5 K 2018-08-14 - 20:41 JimSkon  
PDFpdf POGIL_role_wheel_-_Mary_Bartholomew.pdf r1 manage 269.2 K 2018-08-14 - 20:43 JimSkon  
PDFpdf ProgrammingInPython.pdf r1 manage 10003.8 K 2018-08-14 - 17:30 JimSkon  
PDFpdf howtothink.pdf r1 manage 2371.7 K 2018-08-16 - 03:05 JimSkon  
Edit | Attach | Watch | Print version | History: r100 < r99 < r98 < r97 < r96 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r100 - 2018-10-22 - JimSkon
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback