All resources in UC Scout Computer Science

How to Think like a Computer Scientist with Python Interactive Edition

(View Complete Item Description)

This interactive book is a product of the Runestone Interactive Project at Luther College, led by Brad Miller and David Ranum. There have been many contributors to the project. Our thanks especially to the following: This book is based on the Original work by: Jeffrey Elkner, Allen B. Downey, and Chris Meyers Activecode based on Skulpt Codelens based on Online Python Tutor Many contributions from the CSLearning4U research group at Georgia Tech. ACM-SIGCSE for the special projects grant that funded our student Isaac Dontje Lindell for the summer of 2013. NSF The Runestone Interactive tools are open source and we encourage you to contact us, or grab a copy from GitHub if you would like to use them to write your own resources.

Material Type: Textbook

Authors: Allen B. Downey, Chris Meyers, Jeffrey Elkner

Introduction to Autonomous Robots

(View Complete Item Description)

This book introduces concepts in mobile, autonomous robotics to 3rd-4th year students in Computer Science or a related discipline. The book covers principles of robot motion, forward and inverse kinematics of robotic arms and simple wheeled platforms, perception, error propagation, localization and simultaneous localization and mapping. The cover picture shows a wind-up toy that is smart enough to not fall off a table just using intelligent mechanism design and illustrate the importance of the mechanism in designing intelligent, autonomous systems. This book is open source, open to contributions, and released under a creative common license.

Material Type: Textbook

Author: Nikolaus Correll

How Do You Make a Program Wait?

(View Complete Item Description)

Building on the programming basics learned so far in the unit, students next learn how to program using sensors rather than by specifying exact durations. They start with an examination of algorithms and move to an understanding of conditional commands (until, then), which require the use of wait blocks. Working with the LEGO MINDSTORMS(TM) NXT robots and software, they learn about wait blocks and how to use them in conjunction with move blocks set with unlimited duration. To help with comprehension and prepare them for the associated activity programming challenges, volunteer students act out a maze demo and student groups conclude by programming LEGO robots to navigate a simple maze using wait block programming. A PowerPoint® presentation, a worksheet and pre/post quizzes are provided.

Material Type: Lesson Plan

Authors: Pranit Samarth, Riaz Helfer, Satish S. Nair

Creating 3-D Models using Sketch-Up

(View Complete Item Description)

The project objective is to have students make a realistic 3-D model that is to scale. Student Mission: Your objective is to create a 3-D model of a building of your choice or imagination. The building must be to scale relative to an average-sized person. You make recreate a dwelling, barn or famous building OR create your dream home. Your building must be to scale and should be finished (windows, roof, shutters, steps, furniture, etc.). The outside of your building should include some surrounding features (e.g. bushes, trees, sidewalks, street, shed, etc.). Your final project should incorporate the elements listed on the rubric and be as detailed as possible. Be creative!

Material Type: Activity/Lab, Assessment, Homework/Assignment, Lesson Plan, Unit of Study

Author: Debra Lindner

Computer Ethics And The Online World

(View Complete Item Description)

This powerpoint presentation is a brief lecture about the introduction to computer ethics and its implications on the online community. Common ethical issues are presented and are retrieved from valid sources. Local ethical issues from the Philippines are given to provide viewers specific examples of concerns.  References: ABS-CBN News. (2017, June 21). Retrieved from http://news.abs-cbn.com/business/06/21/17/7-bdo-atms-compromised-in-skimming-official Brey, P. (2007). Computer Ethics in (Higher) Education. Retrieved from https://www.utwente.nl/en/bms/wijsb/staff/brey/Publicaties_Brey/Brey_2007_Higher-Education.pdf  Crisostomo, S. (2016, March 19). Comelec Website Hacked. Retrieved from http://www.philstar.com/headlines/2016/03/29/1567196/comelec-website-hacked Dalipe, J. (2016, October 24). Retrieved from http://www.sunstar.com.ph/cebu/local-news/2016/10/25/bpo-senior-manager-faces-online-libel-case-505555 Reynolds, G. (2010). Principles Of Ethics In Information Technology (Philippine Edition).  Turculet, M. (2014). Ethical Issues Concerning Online Social Networks. Retrieved from http://www.sciencedirect.com/science/article/pii/S1877042814050307 Toy, M. (2006, May 16). Retrieved from http://www.theage.com.au/news/world/chinese-hightech-hero-a-fake/2006/05/15/1147545263329.html

Material Type: Lecture

Author: Kyle Kjell Salazar

Introduction to Computer Science I

(View Complete Item Description)

This course will introduce students to the field of computer science and the fundamentals of computer programming. No prior programming experience is required. Upon successful completion of this course, students will be able to: Demonstrate an understanding of the history of computing as well as fundamental hardware and software concepts; Demonstrate an understanding of the programming life cycle; Explain how the JVM translates Java code into executable code; Demonstrate an understanding of Object-Oriented Programming concepts; Demonstrate an understanding of basic Java concepts by writing simple programs; Demonstrate an understanding of logical and relational operators as well as control structures; Demonstrate proficiency in basic Java I/O techniques by writing small programs. (Computer Science 101; See also: Mathematics 302)

Material Type: Full Course

Introduction to Computer Science II

(View Complete Item Description)

This course is a continuation of the first-semester course titled Introduction to Computer Science I. It will introduce the student to a number of more advanced Computer Science topics, laying a strong foundation for future academic study in the discipline. The student will begin with a comparison between Java--the programming language utilized last semester--and C++, another popular, industry-standard programming language. The student will then discuss the fundamental building blocks of Object-Oriented Programming, reviewing what they have learned learned last semester and familiarizing themselves with some more advanced programming concepts. The remaining course units will be devoted to various advanced topics, including the Standard Template Library, Exceptions, Recursion, Searching and Sorting, and Template Classes. By the end of the class, the student will have a solid understanding of Java and C++ programming, as well as a familiarity with the major issues that programmers routinely address in a professional setting. Upon successful completion of this course, the student will be able to: Demonstrate an understanding of the concepts of Java and C++ and how they are used in Object-Oriented Programming; Demonstrate an understanding of the history and development of Object-Oriented Programming; Explain the importance of the C++ Standard Template Library and how basic components are used; Demonstrate a basic understanding of the importance of run-time analysis in programming; Demonstrate an understanding of important sorting and search routines in programming; Demonstrate an understanding of the generic usage of templates in programming for C++ and Java; Compare and contrast the features of Java and C++. (Computer Science 102; See also: Mathematics 303)

Material Type: Full Course