CSC 369 - Introduction to Distributed Computing
Table of contents
Introduction to distributed computing paradigms and cloud computing. Modern distributed computing infrastructures. Problem-solving in a distributed computing environment. 3 lectures, 1 laboratory. Prerequisite: CSC/CPE 102 and CSC/CPE 103, or CSC/CPE 202 and CSC/CPE 203; and one of the following: STAT 301, STAT 312, STAT 321 or STAT 350.
Paul Anderson, PhD
Office: 222 Building 14
- By appointment (email)
- Tuesday/Thursday 11 AM - 12 PM
- Tuesday/Thursday 1:30 PM - 2:30 PM
Course Learning Objectives
- Apply principles and techniques of distributed computing to the development of software to solve computational problems in a distributed environment.
- Analyze the applicability of distributed computing techniques to an existing non-distributed solution of a computational problem and transform (reorganize) the non-distributed solution into a suitable distributed solution.
- Explain how modern distributed computing and cloud computing infrastructures are organized.
- Assess the results of solving a computational problem in a distributed environment.
Textbook and Other Material
There is no textbook to buy for this course. We will be discussing material organized as chapters supplemented by other online materials.
All grades are subject to being prorated due to illness. For example, if you are sick for a week, you will not have to make up that week. Your grade will just be computed out of fewer total points. You are responsible for making sure that this is correctly reflected in Canvas. Canvas is our official record of grades. Missing weeks will be indicated not with a 0, but with a -1. Your final grade calculations are not correct in Canvas. I always calculate the final grades in Excel which allows me to handle absences because of illness, etc. Canvas is our source record.
Grading philosophy: Mastery learning
- I approach grading as student focused. I don’t believe students should be penalized if it takes them two weeks to do an assignment when other students can finish it in a week.
- I enjoy a challenge, and I want you to enjoy a challenge as well. I want students to say. “Wow. This is challenging and that is what makes it fun”.
- There is this notion that great scientists/mathematicians/human beings are born as great in those respects. Not true.
- A lot of my own thinking is driven by my own experiences. The education system almost completely missed for me. I did not focus or engage with school until fortune intervened on my behalf. I moved from Maryland to Ohio in my junior year of HS. It was only because of a conversation while onboarding at that new school. They asked me to select my own classes for the first time in my life. I had the power because I was a transfer student. I thought what the hell, I’ll jump into all these honors and AP classes. And they were hard. But C’s in hard classes became B’s in hard classes became A’s in college. It wasn’t that my brain wasn’t as good as other students. I just hadn’t exercised it as much as some of my peers. We can all grow and improve. I still try to grow in the same way as before. To push myself and not just choose things that are easy for me. Choose the path that is hard. Spend time on what interests you.
Labs and assignments: 60% (A new lab is posted approximately once a week)
- The primary form of labs and assignments will be programming exercises.
- Labs and assignments will be submitted to GitHub classroom. A link to each lab and assignment will be on the schedule.
- Because a new lab is posted every week, I put a suggested deadline of one week, but as stated above, submitting late will not affect your grade.
- Mastery interpretation: You are attempting to master topic modules. Some may be harder than others based on your background. I am not taking lab points away from you. You are pushing your grade up from 0% on the labs to a max of 60%. This part of the class is like going to the gym. It is at times not as exciting as a project, but it is here where we build your core.
- All projects are student centered and student driven. I am not assigning or pushing structure upon you. Mastery is only achieved on the project by taking ownership of your learning through knowledge creation.
- I have organized a menu based project for you. Meaning you may choose one but not more than one of the following options.
- Project Option A: Make accessible tutorial(s) related to topics discussed in class. There is no better way to show mastery of a topic than by teaching it to someone else. In this case, you’ll be asked to create self-driven tutorials and materials. They must be originals.
- Project Option B: Choose your own adventure. You may have an ongoing project that can fit this category. You may have a new idea that fits into this category. The one rule for this option is it must be approved by the end of Week 4.
- For this project, we will have one “bean counting” exercise. You must post on Flipgrid once a week. This regular posting is worth 10% out of the total 30% of the project.
- You will be assigned an individual grade based on your contribution to the project (10%).
- Each group will be assigned a group grade on the project (10%).
- Apart from that accountability bean counting exercise, we won’t be bean counting. Instead, we will provide you with preliminary grades (not binding) based on your project.
- We will be conducting this class using a variety of technologies (Teams, Flipgrid, etc). For communication, we will using the platform known as Teams.
- You are expected to communicating with your instructors and class using this platform.
- Mastery will be measured by examining Teams history.
- Mastery will also be measured through the small group tutorials. These small groups sessions are required, and your attendance in them will amount to 5% of your overall 10% participation score.
- I won’t be bean counting (i.e., you have to post X times per week). Instead, I will provide you with a preliminary grade (not binding) based on your demonstrated communication and participation.
- Your final participation score will only be determined at the end of the quarter.
Overall, we are trying to encourage a growth mindset. Take time to master things. Work on improving what you aren’t good at. Maybe that is communication. Maybe that is programming. Maybe it is working with creating new knowledge (i.e., project).
- A 100% to 93%
- A- < 93% to 90%
- B+ < 90% to 87%
- B < 87% to 83%
- B- < 83% to 80%
- C+ < 80% to 77%
- C < 77% to 73%
- C- < 73% to 70%
- D+ < 70% to 67%
- D < 67% to 63%
- D- < 63% to 60%
- F < 60% to 0%
Lying, cheating, attempted cheating, and plagiarism are violations of our Honor Code that, when identified, are investigated. Each instance is examined to determine the degree of deception involved.
Incidents where the professor believes the student’s actions are clearly related more to ignorance, miscommunication, or uncertainty, can be addressed by consultation with the student. We will craft a written resolution designed to help prevent the student from repeating the error in the future. The resolution, submitted by form and signed by both the professor and the student, is forwarded to the Dean of Students and remains on file.
Cases of suspected academic dishonesty will be reported directly to the Dean of Students. A student found responsible for academic dishonesty will receive a XF in the course, indicating failure of the course due to academic dishonesty. This grade will appear on the student’s transcript for two years after which the student may petition for the X to be expunged. The student may also be placed on disciplinary probation, suspended (temporary removal) or expelled (permanent removal) from the College by the Honor Board.
It is important for students to remember that unauthorized collaboration–working together without permission– is a form of cheating. Unless a professor specifies that students can work together on an assignment and/or test, no collaboration is permitted. Other forms of cheating include possessing or using an unauthorized study aid (such as a PDA), copying from another’s exam, fabricating data, and giving unauthorized assistance.
Remember, research conducted and/or papers written for other classes cannot be used in whole or in part for any assignment in this class without obtaining prior permission from the professor.
Diversity Statement (Cal Poly official statement)
At Cal Poly we believe that academic freedom, a cornerstone value, is exercised best when there is understanding and respect for our diversity of experiences, identities, and world views. Consequently, we create learning environments that allow for meaningful development of self-awareness, knowledge, and skills alongside attention to others who may have experiences, worldviews, and values that are different from our own. In so doing, we encourage our students, faculty, and staff to seek out opportunities to engage with others who are both similar and different from them, thereby increasing their capacity for knowledge, empathy, and conscious participation in local and global communities.
In the spirit of educational equity, and in acknowledgement of the significant ways in which a university education can transform the lives of individuals and communities, we strive to increase the diversity at Cal Poly. As an institution that serves the state of California within a global context, we support the recruitment, retention, and success of talented students, faculty, and staff from across all societies, including people who are from historically and societally marginalized and underrepresented groups.
Cal Poly is an inclusive community that embraces differences in people and thoughts. By being open to new ideas and showing respect for diverse points of view, we support a climate that allows all students, faculty, and staff to feel valued, which in turn facilitates the recruitment and retention of a diverse campus population. We are a culturally invested university whose members take personal responsibility for fostering excellence in our own and others’ endeavors. To this end, we support an increased awareness and understanding of how one’s own identity facets (such as race, ethnicity, gender, sexual orientation, religion, age, disability, social class, and nation of origin) and the combinations of these identities and experiences that may accompany them can affect our different worldviews.
Any student who feels he or she may need an accommodation based on the impact of a disability should contact me individually to discuss your specific needs. Also, please contact the Disability Resource Center: https://drc.calpoly.edu/content/drc-services.