CS 1101 Programming Fundamentals: Course Experience and Tips

My first CS course at UoPeople

Estefania CN
My UoPeople CS Journey
6 min readMay 14, 2019

--

Welcome! 👋

Hi! In this article, I will describe my experience taking Programming Fundamentals at University of the People. I know that you must be curious about this course if you are starting your CS journey at UoPeople, so let’s begin! 😃

First of all, please let me tell you that I really enjoyed the eight weeks of the course. Python is used as the main programming language, and the learning process was very intense and thorough.

📚 Course Structure and Topics

The course is structured in eight learning weeks (plus a ninth week for the final exam). Each learning week starts on Thursdays and ends on Wednesdays. During that week, you are assigned readings from the main book (usually one or two chapters). Additionally, you will need to complete and submit assignments during that week. No late work is accepted unless there were extreme circumstances, so be really careful about the due dates. ❗️

Sample learning week

Typically, the assignments for each week are: a discussion assignment, a programming assignment, and a learning journal.

💬 You will post your discussion assignment on a discussion forum in the virtual classroom. Your peers will read and comment on your post, and you will rate and comment on at least three of your peers’ posts as well. I suggest posting before Monday to have the necessary time to reply to your peers and for them to reply to your post.

💻 Programming assignments ask you to solve a problem and submit your solution in Python as an attached .py file (Python file), and a text file with the output of your program. I suggest copy/pasting your code and output into the text editor as well in case there is an unexpected problem with the attachments. These assignments are graded by your peers following a rubric with specific criteria.

💡 Note: If you ever feel that your grade is not a true reflection of the quality of your work, you can message your instructor to ask for a grade review. If he/she considers that the grading was unfair, the grade will be adjusted.

👪 You will also need to grade three of your peers following this rubric, and the process is completely anonymous. Your peers can’t determine who you are when they read your feedback, but try to be as honest, objective, and polite as possible. Remember that they are working very hard to thrive as well, and that making mistakes is part of that learning process. Try to encourage them whenever you find errors in the code and suggest new ways to improve.

📓 Learning journals are graded by your professor. In my case, the professor provided fast, detailed, and thorough feedback on our learning journals, which was great! Usually learning journals require more reading and research, so the due date for this assignment is Thursday instead of Wednesday to give one extra day.

💡 Note: Please be sure to format your code appropriately in all your assignments by selecting the code and then choosing the “Pre-formatted” option from the text editor (please see the image below). I saw many discussion assignments that were not properly formatted, and this made the work very difficult to rate since Python relies on indentation.

You will have weekly multiple-choice self-quizzes that test your knowledge but don’t count towards your final grade. Take full advantage of these quizzes as learning opportunities for your graded quizzes and final exam. Questions change with each attempt, so you have a great opportunity to expand your knowledge without affecting your grade.

You will also have two graded quizzes that do count towards your final grade. In week 9, you will take your final exam.

🌟 Course Topics

Here is a short overview of the topics covered:

  • Operators
  • Variables
  • Expressions and Statements
  • Conditionals
  • Recursion
  • Functions
  • Iteration
  • Strings
  • Lists
  • Dictionaries
  • Tuples
  • Files

I had previous experience with programming, and the level of detail in this course really made this a thorough and interesting experience. I particularly enjoyed the final week that covers files because this topic was completely new to me. I liked how assignments really help you understand the material. Each one covers the weekly topic from a different perspective in a way that completing the three assignments makes you practice and learn the topic in depth.

⭐️ Course Tips

I would like to share with you my top tips for this course.

1 . Choose a note-taking strategy that works for you. ✏️

I cannot tell you how helpful it is to find a note-taking strategy that fits your learning style. Before taking my first courses at UoPeople, I took notes without following a predetermined format, using titles and subtitles, and writing complete sentences from the book. But ever since I found the Cornell Note-Taking Strategy, my performance has improved tremendously. 👍

I now feel that my note-taking sessions are very productive, and I actually remember the content better. Write down key words, new concepts, and details that you consider important for each topic. By using the Cornell method, you can create your own questionnaire by writing down questions in each page and asking yourself those questions during your study sessions. It’s awesome! I really recommend it.

General Structure of the Cornell Method. Divide each Page into 3 Sections.

2 . Practice, Practice, Practice. 🔧

I think this is the most important thing to do for practical courses that require you to apply what you learn to new scenarios. Experiment with the new concepts that you are learning. Try new things in your code and see if they work, how they work, if errors are thrown, and what errors are thrown. Curiosity is the seed of knowledge, and it will definitely help you discover new ways to use your new skills.

I suggest completing the exercises included in the last page of each chapter of the textbook. Looking for extra information in resources such as MIT OCWand edX is incredibly helpful to expand your knowledge.

📎 Note: If you are new to programming, this course will be intense from week 1, and if you have some experience with programming, you will see an increased level of difficulty in the final weeks, especially the two last Learning Journals that cover dictionaries and files.

3. Manage your time effectively. ⏰

When I took this course, I was taking two courses simultaneously:

  • UNIV 1001 Online Education Strategies
  • CS 1101 Programming Fundamentals

If you are taking two courses, time management is your best ally during the next eight weeks. The experience is very intensive, and I agree with UoPeople that 15–17 hours are required per course every week. Please do not underestimate the importance of time management during this course. The assignments are thorough and you will need to understand the topics before even starting to work on them, so be prepared to dedicate enough time to reading and practicing.

If this is your first time taking a programming course and you cannot dedicate approximately 23 hours per week for this course (this is a personal estimate) plus 15–17 hours for a second course, I would suggest only taking this course during the term because it does require time and practice to fully comprehend the topics. Since this course is the foundation for your Computer Science degree, it is vital to grasp all the concepts presented in this course, so ask all your questions on the discussion forums and practice thoroughly.

Final Thoughts

I really hope that you liked my article. I wanted to share with you my experience during this course and my personal tips. UoPeople offers a great learning experience. I wish you good luck during your UoPeople journey, and if you have some tips to share with our fellow students, please add them below in the comments 😃 👍

(Article written on April 2019)

--

--