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:

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:

  1. Translate a problem statement into an appropriate coding solution containing arithmetic, relational, and logical expressions. (1 to 8)
  2. Develop a program that reads data from a local data file and from the web. (6, 7, 8, 9)
  3. Develop a program that uses dynamic memory allocation. (10)
  4. Develop a program that uses a List data structure. (6, 7)
  5. Develop a program that uses a Dictionary data structure. (8, 9)
  6. 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
  • Discussion 1
  • Asking questions via Ed Discussion, Canvas Inbox, and Zoom Office Hours
Critical Thinking & Problem-Solving
CLO 1
  • Programs 1 to 8
Teamwork & Collaboration
CLO 1 to 6
  • In-class Activities
Leadership
CLO 1 to 6
  • In-class Activities
Professionalism & Productivity
CLO 1 to 6
  • In-class Activities
  • Program 8
  • Ask for help.
  • Verify your work with the checklist and Rubric.
  • Extra Credit: Update your résumé.
Career & Self Development
CLO 1
  • Introduce yourself with a focus on degree program and career.
  • Discuss cognitive styles and software experience.
  • Summarize technical job skills.
  • Programs 1 to 8
Equity & Inclusion
CLO 1 and 5
  • Discuss cognitive styles and software experience.
  • Share your experiences and timeline discoveries.
  • Synthesize foundational, new technologies, and diversity and inclusion problems in the Software industry.
Information Technology Application
CLOs 1 to 6
  • Programs 1 to 8

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).

Weekly Objectives and Total points
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.
Uncheck the calculate button to see the actual final grade in Canvas.

Late assignments

Canvas Assignment page withe Due and Available Until date.

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:

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.

Keep Canvas, the modules, the textbook, and VS Code open while working
Add the modules site, textbook site, reference sites, Canvas, and Ed Discussion to separate TABS in your browser. Pin the tabs to save space, and get to know their icons in the tabs. Then overlap that window with the Visual Studio Code app...so you can see both at once, and switch between them as needed.
  1. Canvas (for access Modules and submitting Assignments).
  2. Ed Discussion (from inside Canvas, for asking questions).
  3. Modules for accessing the textbook, in-class activities, and program instructions (reachable from outside Canvas).
  4. Geeks for Geeks Python references
  5. W3Schools Python Reference

Applications

Install these applications and/or sign in during Week 1:

Internet Service

Learn more about internet service for different situations:

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:

  1. DUO 2-factor authentication access.
  2. Canvas.
    Access Canvas using this URL: canvas.oregonstate.edu. (Requires DUO 2-factor authentication.)
  3. 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.

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

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.

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.