SmithLogo

CSC 111

Introduction to Computer Science Through Programming

Smith Computer Science



Lecture Notes 01: Welcome to CSC 111





Before Starting:


REMINDER: :Remind Pablo to record the lecture!!


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?



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"

    Edsger Dijkstra MIT
    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:



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:
  1. Open this link in another window: Python Application: Caesar Encryption
  2. press the Visualize Execution
  3. Write a message in the little box and press Submit:
    plaintext
  4. You can press Next to see the execution of the code step-by-step
    OR
    press Last in order to get to the end!
  5. Look at the encoded message that is "printed":
    ciphertext


Activity 3 :[1 minute] : In breakout groups...Decrypt this:
zl qbt vf orggre guna lbhef




Remaining checklist for today:

  1. Course Information
  2. Locate the course page on Moodle
  3. Locate Discord info on Moodle and Sign up to Discord.
  4. Locate ZyBooks info on Moodle and Sign up to ZyBooks.
  5. Locate Repl.it info on Moodle and Sign up to Repl.it
  6. 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.




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