Programming and Computation II
Penn State, University Park Fall 2023
Penn State, University Park Fall 2023
Welcome! I'm Griselda Conejo-Lopez. I will be your instructor for Programming and Computation II. I aim to teach with flexibility, respect, and kindness. I want to support you as best as I can.
Please watch this short video and explore the rest of this site to prepare for week one of our course. Our Canvas page will be available on August 18, 2023. I recommend that you log in to Canvas before the first day of classes to read the Syllabus and participate in the our Introduction Discussion.
I look forward to working with you and to getting to know you!
~ Griselda
(You are welcome to call me Griselda, Ms. Lopez, or Professor Lopez)
This course begins August 21. Our first recitation sessions will be held on August 22 at the designated locations posted on LionPATH.
There are no formal meeting times for lecture. Lectures will be released as playlists of pre-recorded videos posted each Sunday before 5:00 PM along with additional readings as preparation for each module.
This is not a self-paced course. You will learn in a community with your classmates, our Teaching Assistants and myself. The biggest factor that can help you in this course is to ask questions (attend office hours and recitation, use our Microsoft Team Q&A forum) and keep up with the assigned activities, exercises, and assignments. We are in this together.
Students are expected to watch the lecture and complete the assigned readings. Time organization is one of the most important keys to succeed in this course. On average, students spend 9 hours a week completing the material given each in each module (lectures, readings and assignments)
Assignments are due Fridays at 11:59 pm Eastern Time
Students are expected to be familiar with basic Python syntax (function definitions, data types such as int, float, bool, string and lists, conditional statements, loops and basic recursion)
Access to PSU's Canvas course management system
Access to your PSU email account
Access to a Computer that is running Microsoft Windows, Mac OS, or Linux and is connected to the Internet.
In week one, you will complete the "Academic Integrity" module, a brief "Getting Started" module and Module 1. A list of the Week 1 assignments and due dates is provided below. We recommend that you add these dates to your calendar now to support your Week 1 success.
By Tuesday, August 22 at 11:59 pm:
Read the full and complete Course Syllabus (Getting Started Module)
Complete the Acknowledgment of Course Expectations Quiz (Getting Started Module)
Complete Lab 0: Environment Set-up (Getting Started Module)
Once you complete the Course Expectations Quiz, Module 1 will be automatically unlocked for you.
By Wednesday, August 23 at 11:59 pm:
Begin reading Chapter 1 in the free online textbook. (Module1)
Begin watching Module 1 Lectures playlist (Module1)
By Friday, August 25 at 11:59 pm:
Participate in the Week 1 "Introduce Yourself" Discussion (Module 0)
By Sunday, August 27 at 11:59pm:
Post two replies in the Week 1 "Introduce Yourself" Discussion (Module 0)
I you haven't, start working on Lab #1: Dictionaries
Right now, make a commitment to yourself to log into our course by the end of the day each Sunday (or as close to that as your schedule allows) and accomplish the following:
Review all module items
Write the week's due dates on your calendar (or somewhere that you can easily locate)
Assess the workload
Plan a solution before writing program code
Having a mental picture of what's ahead is the best thing you can do to prepare yourself for each week. Also, consider your personal schedule and then plan when you will be available to complete the course work and submit each of the assignments on time.
If you identify a challenge that could prevent you from meeting an assignment, contact me right away to share this concern. I am always willing to be flexible if you contact me in advance before a due date. Be responsible for your own actions.
In you message me, propose an alternative due date in your email (within 24 hours is advised to ensure you don't fall behind).
Please don't consider that proposal as being approved until you hear from me so that we can talk about your proposal and work out a plan together for your success.
Reach out to me and the Teaching/Learning Assistants early and often when you are lost or confused!
We are a Community of Learners (You, our Teaching/Learning Assistants and I), and for the educational process to be most effective for all of us, together, it is essential for each member of this community to understand our specific roles and expectations for success. Please take a moment to read the following commitments that all of us should be prepared to honor during our time together in this course.
When contacted, I will respond to all of your inquires in a timely manner. You will usually get a response within 24 hours, however, please do not hesitate to follow up with me when the matter is urgent and requires a faster response.
I want you to learn and succeed so do not be afraid to ask for clarification if you have questions about your assignments, grades, and any related feedback, please contact me.
Your opinions, thoughts and words matter to me and will make a difference in this class. It is my job as your instructor to ensure that you feel safe and supported as you stretch your mind around new concepts in a new learning environment.
Your success is important to me. I understand that there are many challenges for students in today's world and I will be here to support you when questions arise and you need guidance. Please do not hesitate to contact me when you have a concern and want assistance in this course.
A desire to learn and a commitment to obtain skills that you can use in future courses as well as out in the real world.
Be respectful. Technology affects so much in our daily modern life and so it's important that everyone feels secure and comfortable to explore it, talk about it, and ask questions whenever we are learning something new in the class.
Complete all coursework (reading, assignments, assessments, etc.) to the best of your ability and please communicate whenever you have a concern that might prevent you from meeting a particular learning objective or due date.
Computer Science is both fun and creative, yet also analytical and scientific at the very same time. Be ready to embrace new concepts and recognize that mistakes are a vital part of the learning process, so it is crucial to allocate enough time to cover the course material.
As your instructor, I am the person you should contact if you need help with meeting the course goals. I strive to make this course clear and ensure you can see your pathway to success. I understand that each student is different and will always strive to respond to your questions quickly and efficiently. Hybrid courses can be lonely! It's hard for me to know what's happening on your end if you don't reach out and let me know.
I'm here to help you! My preferred methods of communication are Microsoft Teams, office hours and email
I will do my best to return your messages and emails within 12 to 24 hours. Over the weekend, I may not get back to you quite as quickly. If you do not hear back from me in two days Monday-Friday, please message me again. I will get back to you!
I’m happy to meet with you! Just email to request an appointment, include a few dates/times that work for you, then meet me at our agreed upon time on Zoom at https://psu.zoom.us/my/g.lopez249
If you encounter a general question related to assignments, deadlines, instructions or any other course material, I invite you to ask it in our Q&A Microsoft Teams Forum. Your questions will be seen by the course staff and your peers. The course staff will respond as promptly as possible, but and if anyone has the answer -- by all means, answer it! We are a learning community and we are all in this together.
If your question is personal in nature, please send it directly to me through the Teams chat or Canvas inbox.
This course builds upon the foundations of programming and computation by introducing and studying the data structures and programming language features that support the design and construction of large-scale software systems. It introduces the foundations of:
Object-oriented programming: classes, objects, methods, inheritance
Data structures and algorithms - E.g., linked lists, stacks, queues, trees, graphs, hash tables
Introduction to algorithms and complexity - Big O notation
Higher-order functional programming
Visual Studio Code https://code.visualstudio.com/
Python 3.6 or later from https://www.python.org/downloads/
Older versions of Python are not permitted to use for any class activities
Data Structures and Algorithms in Python by Tamassia and Goldwasser **
Python 3 Documentation https://docs.python.org/3/
All handouts, homework, video lectures and class announcements will be posted on Canvas. We will use Microsoft Teams for class discussion and Gradescope for assignment submission.
** An online version of the textbook is available at no cost as a Penn State Libraries E-Book. You may choose to use the E-Book (recommended) as an alternative to purchasing a physical copy of the text. For questions or issues, you can contact the University Libraries Reserve Help (UL-RESERVESHELP@LISTS.PSU.EDU)