Course Description
Survey of computer science, formal logic, and computational thinking. Explores the historical, gender, and cultural perspectives on the role of technology in society. Includes learning a basic programming language. Students will be expected to write small programs, and construct written arguments on ways in which technology influences our modern culture. Previous computer science experience not necessary.
Objectives
Upon successful completion of this course, students will be able to:
Critical Thinking
- Explain an Issue:
- Use information to describe a problem or issue and/or articulate a question related to the topic.
- Utilize Context:
- Evaluate the relevance of context when presenting a position.
- Identify assumptions.
- Analyze one’s own and others’ assumptions.
- Understand Implications and Make Conclusions:
- Establish a conclusion that is tied to the range of information presented.
- Reflect on implications and consequences of stated conclusion.
Diversity & Global Learning
- Build Self-Awareness:
- Demonstrate how their own attitudes, behaviors, or beliefs compare or relate to those of other individuals, groups, communities, or cultures.
- Examine Perspectives:
- Examine diverse perspectives when investigating social and behavioral topics within natural or human systems.
Written/Oral Communication
- Develop Content and Message
- Create and develop ideas within the context of the situation and the assigned task(s).
- Use Sources and Evidence
- Critically read, evaluate, apply, and synthesize evidence and/or sources in support of a claim.
- Use language appropriate to the audience
Programming
- Demonstrate that they can read the language syntax, parse code and predict the flow of control and program output.
- Write simple programs with 100-200 lines of code, demonstrating the skills needed to design, build and verify programs of moderate size with several classes and files.
- Demonstrate proficiency at testing and debugging programs, including code written by themselves or by others.
- Program and illustrate basic programming skills up to and including arrays and File I/O.
Major Topics
- Early Years of Computing (up to the 1970s)
- Formulating arguments related to technology
- Assumed gender roles past and present within the tech industry
- Human-Centered Computing and Unconscious Bias in the design process
- Internet and Network Literacy - defining Net Neutrality and surrounding ethics
- Cyber-Security, Sexting, and Data Privacy and Ownership
- Understanding HTML and web applications
- Writing tools to analyze sets of data, and then developing arguments from those datasets
- Programming Java including
- Variables
- Operations
- Methods
- Conditionals
- Strings
- Loops
- I/O Console and File
- Arrays
16 Week Schedule
Unit 1: History of CS
Week | Culture Topics | Java Topics |
---|---|---|
Week 1: | Principles of Community Six Laws of Technology First Programmers Divide-Conquer-Glue |
Fundamentals |
Week 2: | Grace Hopper Turing Test Artificial Intelligence |
Methods |
Week 3: | Programmer Shortage Software Engineering NATO 1968 Garmisch Conference |
String Conditionals |
Week 4: | Exam 1 | Loops Review |
Unit 2: Inclusive Design
Week | Culture Topics | Java Topics |
---|---|---|
Week 5: | Inclusive Design Social Entrepreneurship Stephanie Shirley and Elisa Shutt |
Operations Boolean Logic |
Week 6: | Professional Organizations ACM-W Anita Borg GHC |
String Operations Methods |
Week 7: | Unconscious Bias Inclusive Design Human Centered Computing |
Loops |
Week 8: | Exam 2 | Review |
Unit 3: Internet
Week | Culture Topics | Java Topics |
---|---|---|
Week 9: | Internet Basics | Binary Primitives Memory |
Week 10: | DNS and Routing Internet Revolution |
Methods Unit Testing |
Week 11: | History of Web Net Neutrality |
Arrays |
Week 12: | Exam 3 | Review |
Unit 4: Security and Operating Systems
Week | Culture Topics | Java Topics |
---|---|---|
Week 13: | Operating Systems File I/O |
File I/O |
Week 14: | Data Privacy Security |
Recursion |
Week 15: | Review | Review |
Week 16: | Final Exam | n/a |
Please consult the university Final Exam Schedule for the final exam.
Important! All due dates will be listed in Canvas
Programming Labs
Labs are in Zybooks and are meant to be complete during your assigned lab time. They will cover the programing / java topics listed above each week. Lectures focus on the cultural topics.