Introduction
Credits: 3
Contact Hours: Two 80-minute sessions per week for the on-campus lecture.
Prerequisites: MTH 111, 112, 227, 231, 231H, 241, 245, 251 or 251H.
Catalog Description: Covers a variety of fundamental topics in computer programming relevant to anyone who wants to write or work with computer code in their work or studies. Teaches basic computational thinking and programming skills which will allow students to solve a variety of real-world problems. In addition, students will learn more advanced topics such as how some basic algorithms work and can be written in computer code.
Categorization: Required for some programs.
Recent Instructor(s): Pam Van Londen, Brian Baker
Communication Policy
Adhere to these three ways to get help:
Open-ended questions
about the course, assignments, etc. can be answered in Ed Discussion for the group's benefit.Personal questions
should be asked via Canvas Inbox.Scoring questions
should be asked via the Canvas > Grades > Assignment > Comment Box.
Contact
web Pam Van Londen
phone 541-737-8627
location_on 1105 Kelly Engineering Center
location_city Corvallis, OR 97331, USA
person_pin Email via Canvas Inbox
Office Hours
I look forward to working with you during Zoom office hours 2:00pm to 4:00pm PST on Mon, Wed, Fri.
Course Learning Outcomes (CLOs) and NACE Competencies
Upon completion of this course, students will be able to:
- Translate a problem statement into an appropriate coding solution containing arithmetic, relational, and logical expressions. (1 to 8)
- Develop a program that reads data from a local data file and from the web. (6, 7, 8, 9)
- Develop a program that uses dynamic memory allocation. (10)
- Develop a program that uses a List data structure. (6, 7)
- Develop a program that uses a Dictionary data structure. (8, 9)
- Develop a program that uses a 3rd party library. (7, 8, 9, 10)
Read more about OSU's Learning Goals
The career readiness of college graduates is an important issue in higher education, in the labor market, and in the public arena. Through a task force of college career services and HR/staffing professionals, the National Association of Colleges and Employers (NACE) has identified eight Career Competencies: career and self-development; communication; critical thinking; equity and inclusion; leadership; professionalism; teamwork; and technology. The topics and assignments in this course are meant to prepare you to meet those competencies. See how they tie into the student learning outcomes and objectives/deliverables:
NACE Competency | Learning Outcomes | Objectives (Programs) |
---|---|---|
Communication
|
CLO 1 |
|
Critical Thinking & Problem-Solving
|
CLO 1 |
|
Teamwork & Collaboration
|
CLO 1 to 6 |
|
Leadership
|
CLO 1 to 6 |
|
Professionalism & Productivity
|
CLO 1 to 6 |
|
Career & Self Development
|
CLO 1 |
|
Equity & Inclusion
|
CLO 1 and 5 |
|
Information Technology Application
|
CLOs 1 to 6 |
|
You can learn more about these competencies and how to include them in your résumé using the OSU Career Guide provided by the OSU Career Development Center. Or, include them each week as you complete assignments (to earn extra credit).
Course Schedule of Chapters
OSU's definitions and guidelines for quarter credits 90 hours of your time will be needed to read and understand the readings, participate in skill-building activities, and complete assignments for this 3-credit course (that's 9 hours per week).
Week | Objectives | Points |
0 or 1 |
Syllabus Quiz
Check your understanding of the communication policy,
outcomes, schedule, late policy, learning resources,
writing requirements, software requirements,
emotional and cultural intelligence,
and services.
Canvas Quiz Check your understanding about using the Discussion board editing and image options, Inbox, Assignment Comments, Viewing Due and Available Until dates, etc. |
5 points |
1 | Mod 1 ~ Explore Your Interests in Software Engineering, such as User Experience (UX) Design, Internet of Things (IoT), Big Data, Blockchain, Cloud Computing, Crowdsourcing and Citizen Science, Edge Computing, Low Code Development, Open Source Software, and aspects of Cyberpsychology, such as Human Computer Interaction (HCI), the Leaky Pipeline, and Bias in Artificial Intelligence. Then, participate in the discussion of those topics, as well as your cognitive style of using software. | 10 points |
2 |
Mod 2 ~ Explore the History of Languages and Install Python, as well as
how to use the textbook and Python resources,
install the Python language,
install the Visual Studio Code application, and
update its settings and preferences.
Write a simple program (#1) to submit in Canvas, and respond to the scoring feedback. |
6 points |
3 |
Mod 3 ~ Explore Programming Careers and Python Data Types, such as
variables,
expressions,
statements,
values,
data types
operators,
operands,
order of operations, and
input.
Write a program (#2) that uses those data types to print messages about your time and tasks on a job. |
14 points |
4 |
Mod 4 ~ Explore Bias, Inclusion, Debugging, and Turtle Graphics, such as
how software can be full of bias bugs and how
diversity, equity, and inclusion in the industry helps solve the problem.
You'll delve into Python debugging techniques and
learn to use loops and range to create shapes and lines on a virtual canvas.
Write a program (#3) that demonstrates tesselations of two or more characters and explore how to debug it using a variety of methods. |
21 points |
5 |
Mod 5 ~ Explore Python Modules delves into built-in Python Modules,
such as math and random, to create a sine wave on a Turtle Canvas.
Write a program (#4) that uses modules, variables, and functions to take a customer drink order. |
24 points |
6 |
Mod 6 ~ Explore Python Functions and Files delves into
functions, unit testing, global and local variables, how to use math to create shapes.
And, it delves into methods of using external data and web files.
Write a program to draw a bar chart using an existing external data file. |
21 points |
7 |
Mod 7 ~ Explore Python Selection and Matplotlib delves into
logical operations,
precedence of operations,
if/else statements and functions,
nested conditionals,
and more unit testing,
Write a program that reads and splits data from three columns of an external .csv file and plots it using the Matplotlib and NumPy libraries. |
23 points |
8 |
Mod 8 ~ Explore Python Dictionaries delves into
ways to create, retrieve, update, sort, and delete Python dictionaries,
open JSON files, and use Panda DataFrames to export to HTML.
Write a program that creates an HTML page from an external Periodic Table of Elements dataset. |
16 points |
9 |
Mod 9 ~ Explore HTML and CSS delves into
more ways to retrieve, plot, and export data to HTML, as well as how to
add semantic structure and style to web pages.
Begin writing a program (#8) that manipulates, plots, and exports the Periodic Table of Elements dataset to a semantic HTML page. |
0 points |
10 |
Mod 10 ~ Explore Dynamic Memory Allocation and Images delves into
simple solutions for managing memory in Panda Dataframes as well as how to optimize images for the web.
Complete writing Program 8. |
30 Points |
11 |
Mod 11 ~ Extra Credit: Update your Résumé: Update your existing résumé, or start a new one, and add a list of your new technical skills. |
Extra Credit 5 points |
Total Points 170 |
Evaluation of Student Performance
A total of 170 points, plus extra credit points are possible to accumulate on projects and interactions. Scores result in the following grades:
- A = 90%
- B = 80%
- C = 70%
- D = 60%
- F = 50%
View the final grade: In the Grades area, uncheck the
Calculate button to ensure you see the actual grade based on your scores.
Late assignments
Each assignment must be submitted before the Due date and time as specified on the Syllabus Schedule or Modules list. The Available Until date and time constitutes a grace period, which can be used in an emergency, or if you are ill (it cannot be used for every assignment). Students who submit using the Available Until date will incur a score reduction of 5% per day late.
If you need an extension due to extenuating circumstances, please request it in writing via the Canvas Inbox before the Due date.
Notify your instructors right away when there is a personal crisis. Some of us will waive the late penalties when students check in before Due dates. When they come afterword, however, we are less sympathetic. Just like with any employment, you'll be expected to check in immediately when a personal crisis will require a deadline extension.
Incompletes
Incomplete (I) grades may be granted only in emergency cases (usually only for a death in the family, major illness or injury, or birth of your child), and if the student has turned in 80% of the points possible (in other words, usually everything but the final project). If you are having any difficulty that might prevent you from completing the coursework, please don’t wait until the end of the term to communicate with me; let me know right away.
Academic Integrity ~ Avoid Cheating
This course will require you to submit coded assignments. Here is a list of things you may copy and those you may not:
➕ You may copy this... | ❌ But not this: |
---|---|
Comments from starter code. | Comments exactly like the Help Session/Office Hours demonstrations. Add your own comments, using your native language, to help you understand what the code is doing. |
Code snippets and functions from the written Explorations, videos, and Ed Discussion. Rename functions to aid your understanding. | Avoid copying demo videos exactly. Code snippets found in websites that are not listed in the Explorations or Ed Discussion. Unsure? Ask the instructor. |
Code Snippets from standard library references. | Code snippets from other people's completed projects. Do your own work. Unsure? Ask the instructor. |
The Code of Student Conduct prohibits Academic Misconduct and defines it as:
Any action that misrepresents a student or group’s work, knowledge, or achievement, provides a potential or actual inequitable advantage, or compromises the integrity of the educational process. To support understanding of what can be included in this definition, the Code further classifies and describes examples of Academic Misconduct, as follows.
Prohibited behaviors include, but are not limited to doing or attempting the following actions:
- Cheating: Unauthorized assistance, or access to or use of unauthorized materials, information, tools, or study aids. Examples include, but are not limited to, unauthorized collaboration or copying on a test or assignment, using prohibited materials and texts, unapproved use of cell phones, internet, or other electronic devices, etc.
- Plagiarism: Representing the words or ideas of another person or presenting someone else’s words, data, expressed ideas, or artistry as one’s own. Examples include, but are not limited to, presenting someone else’s opinions and theories as one’s own, using another person’s work or words (including unpublished material) without appropriate source documentation or citation, working jointly on a project and then submitting it as one’s own, etc.
- Falsification: Fabrication or invention of any information. Examples include, but are not limited to, falsifying research, inventing or falsely altering data, citing fictitious references, falsely recording or reporting attendance, hours, or engagement in activities such as internships, externships, field experiences, clinical activities, etc.
- Assisting: Any action that helps another engage in academic misconduct. Examples include, but are not limited to, providing materials or assistance without approval, altering someone’s work, grades or academic records, taking a test/doing an assignment for someone else, compelling acquisition, selling, bribing, paying or accepting payment for academic work or assistance that contributes to academic misconduct, etc.
- Tampering: Interfering with an instructor’s evaluation of work by altering materials or documents, tampering with evaluation tools, or other means of interfering. Multiple submissions of work. Using or submitting work completed for another or previous class or requirement, without appropriate disclosure, citation, and instructor approval.
- Unauthorized recording and use: Recording and/or dissemination of instructional content without the express permission of the instructor(s), or an approved accommodation coordinated via Disability Access Services.
Prerequiste Skills
Basic computer knowledge is essential. Know each of the skills on this checklist to ensure you can start Chapter 1 with confidence. Use the Prerequisite Help Discussion in our Canvas course to learn about the ones you're missing.
Print the Prerequiste Skills Checklist as needed.
Materials & Tools
Textbook and Resources
No printed textbook purchase is required. This course uses a free and open textbook for coding lessons:
Think Python: How to Think Like a Computer Scientist.
- Canvas (for access Modules and submitting Assignments).
- Ed Discussion (from inside Canvas, for asking questions).
- Modules for accessing the textbook, in-class activities, and program instructions (reachable from outside Canvas).
- Geeks for Geeks Python references
- W3Schools Python Reference
Applications
Install these applications and/or sign in during Week 1:
- Visual Studio Code
- Python Extensions will vary from week to week.
Internet Service
Learn more about internet service for different situations:
- Internet Service (OSU Help Documents)
- Affordable Connectivity Program The USA Federal government will provide students with free or reduced internet service. Participating states.
- How to Use Your Phone as a Hotspot. Great if the power goes out (but some phone battery life left).
- How to Set up Mesh WiFi Networks Easily
Hardware
On-campus students attending twice-weekly sessions will need to bring a laptop computer to class. Tablet computers may suffice for some in-class activities. Consult the OSU Library if you need to borrow a laptop.
Accounts
The following accounts must be set up and running before class begins:
- DUO 2-factor authentication access.
- Canvas.
Access Canvas using this URL: canvas.oregonstate.edu. (Requires DUO 2-factor authentication.) - Zoom will be used for office hours during 2021/22. (Sign up at https://is.oregonstate.edu/zoom then access a Zoom session from inside Canvas courses.)
Back up your working files every time you finish a session by zip/archiving the current chapter's assignment folder and dragging it to one of the OSU cloud drives. Login to a cloud drive with your OSU ONID credentials.
- OSU G-Suite for Google Drive, Email, and applications
- OSU Sharepoint/OneDrive for Microsoft applications
- OSU Box drive for backing up all files.
Statements of Expectations
Land Acknowledgement
Oregon State University in Corvallis, Oregon, is located within the traditional homelands of the Mary’s River or Ampinefu Band of Kalapuya. Following the Willamette Valley Treaty of 1855, Kalapuya people were forcibly removed to reservations in Western Oregon. Today, living descendants of these people are a part of the Confederated Tribes of Grand Ronde Community of Oregon (grandronde.org) and the Confederated Tribes of the Siletz Indians (ctsi.nsn.us).
Establishing a Positive Community
It is important you feel safe and welcome in this course. If somebody is making discriminatory comments against you, sexually harassing you, or excluding you in other ways, contact the instructor, your academic advisor, and/or report what happened at Student Conduct Reporting, so we can connect you with resources.
Remember that when you communicate online, you cannot provide eye contact and body language to help explain yourself, so your message may be misunderstood. Sometimes the thread of a message is lost, making readers rely on memory (which is often faulty). And if you need the reader to act on your request, good manners will help you be successful. Use the following to ensure you communicate professionally.
Emotional & Cultural Intelligence
The following is adapted from Dr. Susan Shaw, Oregon State University
- Make a personal commitment to learning about, understanding, and supporting your peers.
- Assume the best of others in the class and expect the best from them.
- Acknowledge the impact of sexism, racism, ethnocentrism, classism, heterosexism, ageism, and ableism on the lives of class members.
- Recognize and value the experiences, abilities, and knowledge each person brings to class. Value the diversity of the class.
- Participate actively in the discussions, having completed the readings and thought about the issues.
- Pay close attention to what your classmates write in their online comments. Ask clarifying questions, when appropriate. These questions are meant to probe and shed new light, not to minimize or devalue comments.
- Think through and re-read your comments before you post them.
- Never make derogatory comments toward another person in the class.
- Do not make sexist, racist, homophobic, or victim-blaming comments at all.
- Disagree with ideas, but do not make personal attacks.
- Be open to being challenged or confronted with your ideas or prejudices.
- Challenge others with the intent of facilitating growth. Do not demean or embarrass others.
- Encourage others to develop and share their ideas.
- Be willing to change.
Student Conduct: This manual provides the purpose, definitions, jurisdiction, responsibilities, prohibited conduct, process and procedures, sanctions, authorities, and appeals students must know in order to succeed at OSU.
Cyberbullying on the College Campus: Understand the different types of cyberbullying and how to avoid them.
Student Bill of Rights: OSU has twelve established student rights. They include due process in all university disciplinary processes, an equal opportunity to learn, and grading in accordance with the course syllabus.
Religious Accommodation Process: Oregon State University is required to provide reasonable accommodations for employee and student sincerely-held religious beliefs. It is incumbent on the student making the request to make the faculty member aware of the request as soon as possible prior to the need for the accommodation. See the for Students.
Services
OSU Service Desk and
Accounts:
Get help and learn more about your OSU technologies. If you experience computer
difficulties, need help downloading a browser or plug-in, or virus protection,
contact the IS Service Desk for assistance. You can call
(541) 737-8787 or visit the IS Service Desk online.
If you experience any errors or problems while in your online Canvas course, contact 24-7
Canvas Support through the Help link within Canvas.
Students with Disabilities: Accommodations for students with disabilities are determined and approved by Disability Access Services (DAS). If you, as a student, believe you are eligible for accommodations but have not obtained approval please contact DAS immediately at 541-737-4098 or at http://ds.oregonstate.edu. DAS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations.
Reach Out for Success (on-campus students): University students encounter setbacks from time to time. If you encounter difficulties and need assistance, it’s important to reach out. Consider discussing the situation with an instructor or academic advisor. Learn about resources that assist with wellness and academic success at oregonstate.edu/ReachOut. If you are in immediate crisis, please contact the Crisis Text Line by texting OREGON to 741-741 or call the National Suicide Prevention Lifeline at 1-800-273-TALK (8255).
Reach Out for Success (online students): University students encounter setbacks from time to time. If you encounter difficulties and need assistance, it’s important to reach out. Consider discussing the situation with an instructor or academic advisor. Learn about resources that assist with wellness and academic success. Ecampus students are always encouraged to discuss issues that impact your academic success with the Ecampus Success Team. Email ecampus.success@oregonstate.edu to identify strategies and resources that can support you in your educational goals.
- For Mental Health: Learn about counseling and psychological resources for Ecampus students. If you are in immediate crisis, please contact the Crisis Text Line by texting OREGON to 741-741 or call the National Suicide Prevention Lifeline at 1-800-273-TALK (8255).
- Financial Hardship Statement: Any student whose academic performance is impacted due to financial stress or the inability to afford groceries, housing, and other necessities for any reason is urged to contact the Director of Care for support (541-737-8748).
Tutoring Assistance: On-campus students can utilize the OSU College of Engineering Tutoring Center when they need programming assistance.
Academic Calendar: All students are subject to the registration and refund deadlines as stated in the Academic Calendar
Student Learning Experiences Survey: During Fall, Winter, and Spring terms, the online Student Learning Experience surveys open to students the Wednesday of week 9 and close the Sunday before Finals Week. Students will receive notification, instructions, and the link through their ONID email. They may also log into the survey via MyOregonState or directly. Survey results are extremely important and are used to help improve courses and the learning experience of future students. Responses are anonymous (unless a student chooses to “sign” their comments, agreeing to relinquish anonymity of written comments) and are not available to instructors until after grades have been posted. The results of scaled questions and signed comments go to both the instructor and their unit head/supervisor. Anonymous (unsigned) comments go to the instructor only.
Take the Syllabus Quiz
By taking the quiz about this syllabus, it lets the instructor know that you are ready to tackle the complex assignments and discussions. Click on the first Home > Assignment link in the Canvas course.