0% found this document useful (0 votes)
22 views41 pages

Day 1

This document provides an overview of the CS201 Programming I course, including introductions to the professor and syllabus. The course will introduce programming using Python, meeting in-person on Mondays and Wednesdays and online Thursday and Friday. Students will learn programming fundamentals like program design, coding, debugging, and documentation through hands-on coding problems and assignments. The syllabus outlines expectations, evaluation criteria, and learning outcomes focused on converting formulas to code, input/output, conditionals, loops, and array operations.

Uploaded by

curt Thom
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views41 pages

Day 1

This document provides an overview of the CS201 Programming I course, including introductions to the professor and syllabus. The course will introduce programming using Python, meeting in-person on Mondays and Wednesdays and online Thursday and Friday. Students will learn programming fundamentals like program design, coding, debugging, and documentation through hands-on coding problems and assignments. The syllabus outlines expectations, evaluation criteria, and learning outcomes focused on converting formulas to code, input/output, conditionals, loops, and array operations.

Uploaded by

curt Thom
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 41

CS201

Programming I

Professor Cortez | Finakpo’ 2 2023


Agenda
June 19

• Introductions
• Syllabus
• Lesson 1.1

Introductions
About Me
Elaine Cortez

• B.A. in Math w/ minor in CS


from UOG
• M.A.T. from UOG
• M.S. in CS from GaTech
• In-progress - Fall 2023
• Interactive Intelligence
• Experience in web development
• CS Teacher @ SSHS

Introductions
Whip-around
1. Name
2. Major and/or minor
3. What are you looking
forward to learning about in
this class?

Syllabus
Programming I
CS201

• Credits: 4 degree units


• In-Person Meetings: Mon –
Wed 3:00 PM to 4:50 PM in Rm
WB1
• Online Meetings: Thu – Fri
3:00 PM to 4:50 PM via BBB

Catalog Description
CS201

• This course introduces high level computer programming languages with


emphasis on
- program design
- coding
- debugging
- testing
- proper documentation with applications
• Prerequisite: CS200, MA161a/MA165 or consent of instructor.

Textbook
CS201

• Introduction to Computing,
1st Edition
• Author: David Joyner
• Publisher: McGraw-Hill
Education LLC
• ISBN: 978-1-2600-08227-2

Class Format
CS201

• Maximum class size: 25


• Hybrid course: In-person M-W; Online Th-F
• Students will be expected to:
- attend classes
- participate in class discussions
- read and discuss the text
- complete coding problems in class
- complete assigned work outside of class

Evaluation
CS201
Student Learning Outcomes
CS201

• SLO 1: Convert algebraic formulas to corresponding assignment statements.


• SLO 2: Accurately describe and request required input values for all assigned programs.
• SLO 3: Select appropriate code segments representing decision choices based on properly
designed conditional expressions used in IF-THEN/IF-THEN-ELSE/CASE/SWITCH statements.
• SLO 4: Repeat necessary code segments through properly constructed inite or inde inite
LOOP statements.
• SLO 5: Recognize user/solution requirements and format the required results appropriately
to display program outputs after all necessary calculations and transformations of given
inputs.
• SLO 6: Sort and search arrays of data.

Program Learning Outcome


CS201

• CS/CIS PR-2: Demonstrate technical competence* in Programming:


- Analyze problems and create algorithm/heuristic solutions.
- Develop these using computer-programming methodologies in several
programming languages.
*Technical Competence means to be able to design, implement (build/code, test, debug),
communicate effectively (in written, oral, and numerical forms), individually, and as part of a team.

Course Schedule
CS201
Moodle
Sign Up

• Go to: https://
moodle.uog.edu/
• Search: cs201
• Select CS-201-01
PROGRAMMING I - SUMMER
B'23 - CORTEZ, E.
• Enrollment Key:
• CS201-SUMB23-7iWtK

Lesson 1.1

Computing
Lesson Objectives
By the end of the lesson, students will
be able to:

• Analyze the nature of computing (for the


purposes of this introduction) in addition to
constructing instructions for a computer
to follow;
• Use the basic terminology surrounding
computing and be able to correctly identify
terms such as input, output, console, GUI,
lines of code, compiling, and executing;
• Describe the value of Python as well as
how to develop using Python;
• Work on the domain and complete different
types of tasks on it.

What is Computing?
1.1 Computing

• Designing physical components that make up a single device


• Designing massive systems like the Internet
• Anything that involves computers in some way

What is Computing?
Introduction to Programming

• Programming is the foundation of computing.


• Programming is centered on algorithms.
• E.g.: Multiply 3 * 4
1.Convert the math statement to addition: 3 + 3 + 3 + 3
2.Add the values from left to right: 6 + 3 + 3
3.Continue adding: 9 + 3
4.Continue adding: 12
5.Stop, there is nothing else to add. The inal answer is 12.

What is Computing?
Programming Is Everywhere

• No matter where you end up in computing, whether its in networking,


web development, game development, animation, etc, programming is
at the center of it all.
• Goal: Learn to write code with purpose of communicating.
• Programming is a language.

What is Computing?
Chapter Outline

• Background to communicate about programming and computing


• Basic vocabulary needed to start reading about programming
• General nature of different programming languages
• Different places where we might see a program’s output
• What to expect in the rest of the course

Programming Vocabulary
Programs and Code

• Line of code: A single instruction for the computer to perform.


• Program: An independent collection of lines of code that serves one or
more overall functions.
• Input: Data that is fed into a program for it to operate upon.
• Output: What the computer provides in return after running some lines of
code.

Programming Vocabulary
Compiling and Executing

• Compile: To translate human-readable computer code into instructions


the computer can execute. In the programming low, this functions as a
check on the code the user has written to make sure it makes sense to the
computer.
• Execution: Running some code and having it actually perform its
operations.
• Differences with example of adding two numbers:
- Compilation error: 2 + O (using a letter “O” instead of number “0”)
- Execution error: 2 – 3 (using a minus instead of plus for adding)

Programming Languages
CS201

• Hundreds of programming languages with pros and cons


• Types of languages: static and dynamic languages; high-level and low-
level languages
• Languages for different purposes: web dev, game dev, etc.

Console vs. GUI


CS201

• Console: An output medium for a program


to show exclusively text-based output.

• Graphical User Interface: An output


medium that uses more than just text, like
forms, buttons, tabs, and more. More
programs are graphical user interfaces.

Computing vs. Programming


CS201

• Computing is about what you use that language to say.


• Understanding what you’re using a language to make a computer do something is
important.
• To understand computing, we need to understand the general categories:
Foundations, Language, and Domain
• Foundations: Core principles of computing that transcend speci ic programming
languages.
• Language: Used to implement Foundational principles.
• Domain: Foundations in a given Language used to achieve something within a
Domain.

f
Code Segments
CS201
Course Outline
Unit 1: Computing

• Basic terminology
• Basics of Python and environment set up
• Basic low of programming: writing code, compiling it, executing it, and
evaluating the results
• Process of debugging code
f

Course Outline
Unit 2: Procedural Programming

• Basic approach to code: writing sequences of commands


• Variables
• Logical operators
• Mathematical operators

Course Outline
Unit 3: Control Structures

• Control structures are lines of code that control other lines of code.
• Conditionals: if, elif, else
• Loops
• Debugging conditionals and loops

Course Outline
Unit 4: Data Structures

• Organizing data for programs to use


• Using string methods
• Using iles
• Lists
• Hash tables/Dictionaries

Course Outline
Unit 5: Objects and Algorithms

• Object-oriented programming: Creating custom data structures


• Algorithms: Designing and implementing
• Recursion
• Search and sort algorithms

Introduction to Python
Python: A High-Level Language

• High-level: Abstracts far away from the core processor and memory of the
computer.
• No need to worry about managing memory or directly communicating
with the core processor in machine language.
• High-level means more portable: can run on PC, Mac, or Linux.
• Compared to lower-level languages that are tied to certain operating
systems.

Introduction to Python
Python: A Interpreted Language

• Python will run our code line-by-line when we ask it to, without trying to
compile it irst.
• Can write Python code straight from the command-line interface one line
at a time.
• As an interpreted language, we might not be aware of errors until we try
to execute those lines.
• Compiled languages do some error checking before trying to execute.

Setting Up
Files and Command Line

• Install Python
• Open a basic text editor
• Type out and save:
• print(“Hello World”)
• Open command line and navigate to the folder where you saved the ile:
• e.g.: cd Documents/Folder \Name/
• Type the command: python ilename.py

Setting Up
Using an IDE

• VS Code
Setting Up
Web-Based IDEs

• Replit
Setting Up
Interactive Mode
Introduction to Turtles
Turtle Basics/Turtles and User Interface

• Log-in to Moodle.
• Click on the Replit Sign Up link.
• Sign up with Replit to join the Replit class.
• Go to the Teams page: https://replit.com/team/cs201-su2023
• Start the Testing project.

You might also like