Title: | Computer Science Principles |
Institution: | Metropolitan State University of Denver |
Course ID: | CS 1030 §2 |
Semester: | Fall 2022 (August 22 – December 17) |
Meetings: | Mondays & Wednesdays Noon - 1:50PM |
Location: | AES 220 |
Credit Hours: | 4* |
Prerequisites: | None |
Policies: | http://www.jodypaul.com/cs/csp |
Course Site: | https://cslive.msudenver.edu/moodle |
Instructor: | Dr. Jody Paul (schedule & office hours) |
E-mail: | jody @ computer.org |
Office: | Virtual (office hour schedule) |
Students are required to attend
all sessions during the first week of class. Students Rights and Responsibilities - Class Attendance |
Computer Science Principles introduces students to the central ideas of computer science vital for success in today’s world. Students are invited to develop the computational thinking skills that apply across disciplines, as we explore computing from multiple perspectives, including: cognitive, economic, ethical, legal, mathematical, philosophical, social, and technical. The course integrates computational thinking practices with big ideas in computing to address: collaborative teamwork, communication, creativity, critical thinking, innovation, problem solving, and programming. Students are afforded the opportunity to participate in active-learning experiences and to create computational artifacts that bring ideas to life.
Computer Science Principles addresses how computing enables and empowers innovation, exploration, and the creation of knowledge. The course also explores how computing transforms human values and can facilitate social abuses and violations of human rights.
Computer Science Principles provides techniques and skills for working in and reasoning about the modern world. It empowers students with fundamental skills of the 21st century that apply to all disciplines (arts, humanities, business, social and physical sciences, ...) and to all aspects of contemporary life (health, entertainment, employment, family, law, ...).
Computer Science Principles is not a “computer literacy” course (see: Introduction to Computing, CSS1010) and it is not an “introduction to computer programming” course (see: Computer Science 1, CS1050).
Computer Science Principles affords learning how to evaluate opportunities for computing solutions and determine the feasibility and social impact of proposed products. Students will design and build personally-relevant creations, individually and in teams, using a variety of computational tools (like abstraction, algorithms, data modeling, and simulation) and creative processes (like those used by artists, musicians, and engineers) to translate their ideas into a form they can share with others.
Can Animals and Machines Be Persons?
by Justin Leiber
Hackett Pub Co Inc (1985)
ISBN: 0872200027
REQUIRED
Computational Thinking
by Peter J. Denning and Matti Tedre
MIT Press (2019)
ISBN: 0262536560
REQUIRED
CS1030 Course Pack
Cognella (2021)
ISBN: 9781793591319
(Excerpted from Essential Computational Thinking by Ricky J. Sethi.)
REQUIRED
Hello World: Being Human in the Age of Algorithms
by Hannah Fry
W. W. Norton (2019)
ISBN: 0393357368
REQUIRED
These books provide additional depth and may be associated with optional assignments.
Nine Algorithms That Changed the Future
by John MacCormick
Princeton University Press (2020)
ISBN: 9780691209067
OPTIONAL
Stuck in the Shallow End, Updated Edition
by Jane Margolis
MIT Press (2017)
ISBN: 9780262533461
OPTIONAL
This course operates in a real world context, one that is continuously changing. We examine the context of a situation, reflect upon possible alternatives, select the most suitable, and justify our decisions.
Collaboration, teamwork, and contribution to the collective experience are norms. Contribution to the experiences of others and acquisition of team-oriented practices and abilities comprise part of this course and its assessments.
In an ideal world, the knowledge and practices of Computer Science would be objective. However, much of knowledge is subjective and representative of a small set of privileged voices. In this class, we will draw on works deriving from a diverse group of practitioners, luminaries, and advocates. Even so, limits will still exist on this diversity. I acknowledge that it is possible that there may be overt and covert biases in material because of the lens through which it was written. Integrating a diverse set of experiences is important for a more comprehensive understanding of computer science. I would like to discuss issues of inclusion and diversity in the field of computing as part of the course from time to time.
Please contact me directly or submit anonymous feedback (e.g., via Moodle) if you have any suggestions to improve the quality of the course materials and pedagogy.
Furthermore, I would like to create a learning environment that supports diversity (of thoughts, perspectives, backgrounds, and experiences) and honors your identities (gender, class, sexual orientation, religion, ability, nationality, ethnicity, backround, …). To help accomplish this:
All students are expected to prepare in advance for class sessions (by reading, doing preperatory exercises, etc.) and to participate in all class activities and discussions. Participation in class activities and discussions is mandatory and constitutes part of the overall assessment of performance in the course.
The books and references do not provide all of the information necessary to successfully complete the course. Significant information is disseminated during class sessions or via the course websites. You are responsible for knowing this information whether or not you attended the sessions and accessed the websites.
In addition to important domain and course information, the course Moodle website is also the vehicle for managing assignments and assessment.
Practice is vital to applying course knowledge to the real world. Assignments represent the opportunity to practice applying the concepts and enhance your understanding. Details are provided in class and on the course website.
Learning and utilizing team-oriented collaboration skills and practices are fundamental to the study of computer science and thus expected in this course and part of the assessment. Group work represents a significant aspect of this course, so please be considerate of your colleagues if you think you may drop so as to reduce the adverse impact on them.
The final course grade is determined based on the successful completion of assessment items ,detailed in class sessions and on the course websites, and computed by combining scores. Course grades are based on the following conversion of scores to letters.
90% ≤ A 80% ≤ B < 90% 70% ≤ C < 80% 67% ≤ C− < 70% 60% ≤ D < 67% F < 60%
Assignments, activities, and projects are opportunities to practice applying the concepts, to enhance understanding, and to demonstrate knowledge and the ability to apply such knowledge.
Details regarding assignments and projects are provided in class or on the course websites. Assignment specifications explicitly state submission requirements. These include required use of website submission form fields (e.g., "Online text") and the number, type, and names of uploaded files.
Although much work is done collaboratively, all assignments must be submitted individually and with unique personalized reflections.
Significant learning can result from reflecting on one's own experiences.
Every assignment submission must include a section, of approximately 150 words of prose, labeled “Reflection”. In this section, you describe personal insights and observations resulting from self-reflection on the experiences associated with the assignment.
Reflections comprise a portion of the score of every submitted assignment.
Assignments must be turned in using the course Moodle website unless explicitly specified otherwise. In particular, email and hardcopy will not be accepted in lieu of website submission.
An assignment may be submitted at any time prior to the published due date/time.
N.B. Assignment submissions are not accepted after the published due cut-off date/time. [Updated: 28 August 2022]
Early completion of draft submissions are encouraged and requests for feedback on drafts are accommodated when feasible.
Because there are so many risks to assignment completion and submission, you are strongly encouraged to target completion and submission of assignments no less than 24 hours prior to the published due date/time. Computer systems and networks commonly experience "down times". Do not depend on systems, including the course support servers, to be consistently available immediately preceding a deadline. In addition, the instructor may not be available to address questions regarding a specific assignment in the 24 hours preceding its deadline.
Illness, crises, and emergency situations will be dealt with on a case-by-case basis in accordance with University, School, and Departmental policies.
Assignment descriptions explicitly state necessary submission requirements, both content and structure, including appropriate use of assignment submission fields and the names and types of uploaded files.
Here are some general file format specifications that apply unless overridden by an assignment specification:
If you are unsure about the acceptability of a file format or the specification of a file name, please check with your instructor well before the submission deadline.
If your submission does not follow the requirements specified for the assignment, exactly matching filenames and formats, your score on the assignment will be zero (0).
There is also a practical perspective. Assignment submissions are processed using programs designed to match the assignment specifications. Thus submissions that do not match the specifications do not get packaged and presented for review and scoring.
Collaborative activity is required for successful completion of this course. In particular, collaboration is regarded as an essential aspect of computer science and contributing to the community of learners. Collaboration and discussion with fellow students, instructors, and university resources (such as the Writing Center) is strongly encouraged. You are neither expected nor advised to learn the course content or work on assignments and projects in isolation.
Much of the work in this course will be collaborative in nature. That said, in order to provide fair and meaningful assessment for grading, the work you turn in must reflect your own efforts. You must create your own submissions, reflecting your individual effort, for every assessment item submitted, whether or not the outcome resulted from collaborative effort.
Note that you must compose and submit a personal reflection for every individual and collaborative effort.
Team deliverables are expected to be a joint effort involving the collaboration and contribution of all team members. An overall evaluation will be made for each deliverable that reflects the quality of product or artifact. An individual grade for each team member will be assigned for each deliverable. You may be expected to assess each team member's contribution, including your own.
Turning in work that includes quotations or derivatives (text, graphics, program code, etc.) without corresponding citations, does not properly cite references, or does not credit collaborators will be treated as an act of academic dishonesty.
Incidents of suspected dishonesty will be reported to the Chair of the department and the Dean of the college. Consequences may include a score of 0 on the assignment, a grade of "F" for the course, academic probation, or dismissal from the institution. This is a very serious matter and should not be taken lightly. If you have any uncertainty or concerns, please discuss them with your instructor or your advisor.
Official policies applicable to all courses may be accessed at https://msudenver.edu/cs/policies
MSU Denver Academic Calendar: http://www.msudenver.edu/events/academic/
Additional official dates and deadlines, including the last dates to withdraw and holidays
MSU Denver Student Rights and Responsibilities: https://catalog.msudenver.edu/content.php?catoid=40&navoid=2865