Course Syllabus

Programming Concepts for Non-majors

This is a fast paced course which covers a variety of fundamental topics in computer programming which would be relevant to anyone who needs to write or work with computer code frequently in their work or studies. The course will teach basic programming skills which allow students to solve a variety of real world problems. In addition to these basic programming skills students will learn some more advanced topics like how quickly a particular program implementation might be able to solve problems involving data sets of different size or how much memory it will need. Additionally some basic algorithms for tasks like sorting will be introduced and analyzed.

Course Name: Programming Concept for Non-majors
Course Number: 511/519
Credits: 4
Instructor Name: Wendy Roberts
Instructor Email: roberwen@oregonstate.edu

Communication

Read this guide on on-line communication. Follow every link in the section on asking good questions and giving good answers. You may be graded on the quality of your discussion. You need to communicate with clients and coworkers in the real world, you need to communicate with your fellow students here. You learn by finding the limits and holes in your knowledge. The best way for you to find them is to talk with others about the topics at hand.

Course Credits

This is a 4 credit course. There is a variety of interactive, written and video content every week. That content along with the typical workload ends up taking an average of 20 hours a week. Some students will find they need longer than this. The content is delivered on a weekly basis. Interaction with the instructor and other students happens asynchronously.

Tech Support

If you experience computer difficulties, need help downloading a browser or plug-in, assistance logging into the course, or if you experience any errors or problems while in your online course, contact the OSU Help Desk for assistance. You can call (541) 737-3474, email osuhelpdesk@oregonstate.edu or visit the OSU Computer Helpdesk online.

Learning Resources

The primary book for this course will be "Automate the Boring Stuff With Python". It is available for free at autmatetheboringstuff.com as a PDF, HTML or EBook format. You can also get a hard copy but it is not required to do so.

Canvas

This course will be delivered via Canvas where you will interact with your classmates and with your instructor. Within the course Canvas site you will access the learning materials, such as the syllabus, class discussions, assignments, projects, and quizzes. To preview how an online course works, visit the Ecampus Course Demo. For technical assistance, please visit Ecampus Technical Help.

Learning Outcomes

  1. Translate a problem statement into an appropriate algorithm containing arithmetic, relational, and logical expressions.
  2. Translate the semantics of an algorithm into the syntax of a computer programming language.
  3. Develop programs that read data from a local data file and from the web.
  4. Develop an object-oriented solution to a problem using objects, classes, and methods.
  5. Develop a program that uses dynamic memory allocation.
  6. Develop a program that uses a List data structure.
  7. Develop a program that uses a Dictionary data structure.
  8. Develop a program that uses the NumPy library.
  9. Explain the concept of time complexity and how it affects your choice of algorithms.

Evaluation

Approximate grade weighting

  • 25% - Final Evaluation
  • 75% - Weekly homework

Course Calendar

Week Content
Week 1 Python Intro, Expressions, Types, Variables
Week 2 Conditionals, Loops, Errors
Week 3 Functions, Collections
Week 4 Strings and Regular Expressions
Week 5 Objects
Week 6 Local IO, Libraries, HTTP Client
Week 7 Complexity
Week 8 Sorting
Week 9 Recursion
Week 10 Hashing

Proctored Exams

This course may require that you take exams under the supervision of an approved proctor. Proctoring guidelines and registration for proctored exams are available online through the Ecampus testing and proctoring website. It is important to submit your proctoring request as early as possible to avoid delays.

DAS Policy

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.

Makeup Exams

Late exams are only given due to a verifiable emergency situation.

Late Work

Late work is not accepted without prior arrangement made at least 60 hours in advance or in the event of a documented emergency. In general I am very lenient as long as you get the request in before that deadline.

Course Summary:

Date Details Due