Now...Who's who and why are we here?
Pablo
Name: Pablo Frank Bolton ("Frank" and "Bolton" are last names);
Pronouns: He, Him;
you can call me "Pablo"
What do I do?
- Human-Computer-Interaction
- Biology-CS collaborations
- Teaching and STEM research
My Dog Yak
this is my dog, Yak:
(Informal Dog-Walk Hours can be used for petting Yak, chatting with me, or even to talk shop)
Instructional Team
Names: TBD
The Students
Please fill out this small 3-minute-biography so I can get to know you a bit.
The Class
Activity 1 :[2 minutes] : Can anyone tell me what Computer Science is?
One possible answer:
(Wait until we have a couple definitions; then Click to expand and see mine.)
Computer Science is the structured study of, and the design of solutions for, problems that are solvable with an algorithm.
And what is an algorithm?
One possible answer:
(Wait; then Click)
A series of steps that allow you to solve a problem.
(there is a bit more than that, but for now, that's enough)
-
Computer Science is not simply a collection of data to be memorized.
-
CS is a way to approach the analysis of a problem and the design of a solution for it.
-
The fact that it has "computer" in the name is an indication of the way we think of and design solutions for these problems.
-
A computer requires structure and organization to be able to function and so, CS is the discipline that teaches one to think in a structured and organized manner of ways to analyze and solve problems.
However, we can do CS without computers as long as we think the right way.
"Computer Science is no more about computers than astronomy is about telescopes"
Dijkstra was a Dutch Computer Scientist that was good (The Serena Williams of CS).
-
You will see many similarities with engineering, mathematics, and physics because 1) CS is the descendant those fields, and 2) it inherits the scientific method.
Activity 2 :[2 minutes] : Can anyone tell me what programming is and why you think it is useful?
One possible answer:
(Wait; then Click)
Programming is the translation of an algorithm into structured and unambiguous steps that are readable by some agent.
This class has three main objectives:
- Learn the Language: learning the Syntax (spelling rules) and struture of a programming language (Python) as well as the basics of how it is executed by the computer;
- Computational Thinking: learning how to understand, analyze, and solve problems "through" the computer (Python);
- Applied Programming: connect what you learn in this class to other fields like art, gaming, literature, walking your dog, etc).
A Most Important Point: This course is designed so that anyone can learn to program and do well even without any prior experience!
An example of things we'll do
Caesar Cipher
Follow these steps:
-
Open this link in another window: Python Application: Caesar Encryption
-
press the Visualize Execution
-
Write a message in the little box and press Submit:
-
You can press Next to see the execution of the code step-by-step
OR
press Last in order to get to the end!
-
Look at the encoded message that is "printed":
Activity 3 :[1 minute] : In breakout groups...Decrypt this:
zl qbt vf orggre guna lbhef
Remaining checklist for today:
- Course Information
- Locate the course page on Moodle
- Locate Discord info on Moodle and Sign up to Discord.
- Locate ZyBooks info on Moodle and Sign up to ZyBooks.
- Locate Repl.it info on Moodle and Sign up to Repl.it
- Meeting and Accommodations
Course Information
The class information is located in the Class Info link of the navigation bar. We will go over it now. When we are done checking it out, make sure to continue here.
Using Slack
We will use Slack as our main communication hub.
-
Please sign up for Slack:
-
We'll be working inside a Workspace for the course (CSC-111-01-202203). Each workspace has channels (#general, #random) where different subjects can be discussed. And lastly, you can reply to a speciffic post and continue the conversation inside a Thread. This lets us group conversations by subject matter.
-
Join the https://smi-csc-111-01-202203.slack.com workspace.
(You should have been invited already, otherwise talk to me after class)
-
You can read this tutorial to get an idea of how to use it.
Using Moodle
Access Moodle here: https://moodle.smith.edu/
We'll keep links to each lecture in Moodle. In addition, we'll have any PDFs, readings, and other resources.
I'll update the course Moodle with the appropriate links and information as we move forward in the course.
Using Repl.it
Repl.it (AKA replit) is a free, collaborative, in-browser IDE. An IDE is an Integrated Development Environment, which is a fancy way of saying "a text editor that can also check and run your code".
The important part is that we'll be able to exchange files and check your work through replit, making it easier to check your code for errors, grade your work, and distribute templates to get you started.
(You should have been invited already, otherwise talk to me after class)
Meeting and Accommodations
I would be very happy to meet you during office hours.
This will help me get to know you and learn how best to communicate.
Office Hours are not for remedial or emergency meetings, its part of the academic experience!
In OHs, we can talk about the class work and organization, but also about aspirations, expectations, curiosities, and more.
I really like office hours, so please feel free to drop by.
You may take this opportunity to let me know if you have arranged any accommodations with ODS.
Before next class (Wednesday)
[Due for everyone]
Read the Course-Info page (There'll be a quiz about it next class)
Watch the Crash Course Computer Science #1 video (in Moodle)
[Optional] Take a look at the code of "Caesar Cipher" in Replit... and play with it... try to get a sense of what it is doing.
1-Minute Debrief
Please fill out the following debrief (we'll use these for attendance):
1-minute debrief