All resources in UC Scout Computer Science

Java with BlueJ Part 2

(View Complete Item Description)

This book is Part II of a two-part set that introduces the Java programming language. The text assumes the student will be using the BlueJ development environment and provides some introductory BlueJ material. Our experience has been that BlueJ is easy to learn and provides a good programming environment for the beginner programmer.

Material Type: Textbook

Author: Ron McFayden

Think Data Structures: Algorithms and Information Retrieval in Java

(View Complete Item Description)

Data structures and algorithms are among the most important inventions of the last 50 years, and they are fundamental tools software engineers need to know. But in my opinion, most of the books on these topics are too theoretical, too big, and too bottom-up: *Too theoretical: Mathematical analysis of algorithms is based on simplifying assumptions that limit its usefulness in practice. Many presentations of this topic gloss over the simplifications and focus on the math. In this book I present the most practical subset of this material and eliminate the rest. *Too big: Most books on these topics are at least 500 pages, and some are more than 1000. By focusing on the topics I think are most useful for software engineers, I kept this book under 250 pages. *Too bottom-up: Many data structures books focus on how data structures work (the implementations), with less about how to use them (the interfaces). In this book, I go “top down”, starting with the interfaces. Readers learn to use the structures in the Java Collections Framework before getting into the details of how they work. Finally, many present this material out of context and without motivation: it’s just one damn data structure after another! I try to alleviate the boredom by organizing the topics around an application—web search—that uses data structures extensively, and is an interesting and important topic in its own right. This application also motivates some topics that are not usually covered in an introductory data structures class, including persistent data structures, with Redis, and streaming algorithms. I have made difficult decisions about what to leave out, but I have made some compromises. I include a few topics that most readers will never use, but that they might be expected to know, possibly in a technical interview. For these topics, I present both the conventional wisdom as well as my reasons to be skeptical. This book also presents basic aspects of software engineering practice, including version control and unit testing. Each chapter ends with an exercise that allows readers to apply what they have learned. Each exercise includes automated tests that check the solution. And for most exercises, I present my solution at the beginning of the next chapter. This book is intended for college students in computer science and related fields, as well as professional software engineers, people training in software engineering, and people preparing for technical interviews. I assume that the reader knows Java at an intermediate level, but I explain some Java features along the way, and provide pointers to supplementary material. People who have read Think Java or Head First Java are prepared for this book.

Material Type: Textbook

Author: Allen Downey

Java, Java, Java: Object-Oriented Problem Solving

(View Complete Item Description)

We have designed this third edition of Java, Java, Java to be suitable for a typical Introduction to Computer Science (CS1) course or for a slightly more advanced Java as a Second Language course. This edition retains the “objects first” approach to programming and problem solving that was characteristic of the first two editions. Throughout the text we emphasize careful coverage of Java language features, introductory programming concepts, and object-oriented design principles.

Material Type: Textbook

Authors: Ralph Morelli, Ralph Wade

Java with BlueJ

(View Complete Item Description)

This book is Part I of a two-part set that introduces the Java programminglanguage. The text assumes the student will be using the BlueJ developmentenvironment and provides some introductory BlueJ material. Our experiencehas been that BlueJ is easy to learn and provides a good programmingenvironment for the beginner programmer.

Material Type: Textbook

Author: Ron McFayden

Introduction to Computer Science

(View Complete Item Description)

Dear student! You are starting to learn about computation and its purpose. This course covers the same materials as an introductory class for undergraduate computer science majors. Its curriculum, which includes software, hardware and algorithms, resembles that of a one- or two-semester first-year college course or the high school Advanced Placement (AP) Computer Science. It does not require a formal computer science background.

Material Type: Textbook

The Internet (04:05): Cloud Computing

(View Complete Item Description)

The final video in our series on the Internet. In this one we look at what is cloud computing as well as some example of how cloud computing makes your life so much cooler. We also present our top website to check out. Links from the video: -w3schools http://www.w3schools.com/ -HostGator http://www.hostgator.com/ -Bitly https://bitly.com/ -Google URL Shortener http://goo.gl/ -The IT Crowd - Series 3 - Episode 4: The Internet -http://youtu.be/iDbyYGrswtg -Paul Soares Jr. https://www.youtube.com/user/paulsoaresjr

Material Type: Lecture

Author: Scott Ford

How to Think Like a Computer Scientist: Learning with Python

(View Complete Item Description)

Python is a fun and extremely easy-to-use programming language that has steadily gained in popularity over the last few years. Developed over ten years ago by Guido van Rossum, Python's simple syntax and overall feel is largely derived from ABC, a teaching language that was developed in the 1980's. However, Python was also created to solve real problems and it borrows a wide variety of features from programming languages such as C++, Java, Modula-3, and Scheme. Because of this, one of Python's most remarkable features is its broad appeal to professional software developers, scientists, researchers, artists, and educators. 278 page pdf file.

Material Type: Textbook

Authors: Allen B. Downey, Jeffrey Elkner

Flow Charting App Inventor Tutorials

(View Complete Item Description)

Students design and create flow charts for the MIT App Inventor tutorials in this computer science activity about program analysis. In program analysis, which is based on determining the behavior of computer programs, flow charts are an important tool for tracing control flow. Control flow is a graphical representation of the logic present in a program and how the program works. Students work through tutorials, design and create flow charts about how the tutorials function, and present their findings to the class. In their final assessment, they create an additional flow chart for an advanced App Inventor tutorial. This activity prepares students with the knowledge and skills to use App Inventor in the future to design and create Android applications.

Material Type: Activity/Lab

Authors: Brian Sandall, Rich Powers

Educational App Development Toolkit for Teachers and Learners

(View Complete Item Description)

The Educational App Development Toolkit for Teachers and Learners is designed to introduce the basic and some intermediate concepts of Android app development on the App Inventor (AI2) platform. It provides hands-on activities and tutorials to use the Designer and Blocks Editor components of App Inventor to create apps that can be readily downloaded and used on any Android smartphone or tablet. Furthermore, the hands-on sessions will guide you on how to use features such as text-to-speech, accelerometer, speech recognition, drawing, video, games and music playback. The Toolkit also provides guidelines on how to package and distribute your app. For teachers a training plan is also provided that can be used to provide training to students in an instructor-led environment.

Material Type: Activity/Lab

Author: Ishan Sudeera Abeywardena

Create a Website

(View Complete Item Description)

These days, tools exist so that anybody can build a website, but that doesn't mean anyone will want to visit it. This workshop will get you hands-on experience with the underlying code it takes to develop a website (HTML & CSS) as well as website design considerations. The culmination of this workshop will be the launch of your own website!Learning Objectives:Insert hyperlinks into a web pageEmbed multimedia content into a web pageIdentify & use HTML tags to add content to a web pageIdentify & use CSS tags to change the style and layout of a web pageIdentify & use openly-licensed workIterate on a design after feedback from target audienceIdentify different parts of a web page using industry-recognized termsIdentify & use JavaScript to add interactivity to a web pageThe Web Literacy Map identifies competencies and skills that the Mozilla community believes are important to pay attention to when getting better at reading, writing and participating on the web. This lesson is primarily focused on the Write strand.

Material Type: Lesson Plan

Author: Kim Wilkens

A Byte of Python

(View Complete Item Description)

"A Byte of Python" is a free book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience. If all you know about computers is how to save text files, then this is the book for you. There are many translations of the book available in different human languages.

Material Type: Textbook

Author: Swaroop C.H.

Automate the Boring Stuff

(View Complete Item Description)

If you've ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you? In Automate the Boring Stuff with Python, you'll learn how to use Python to write programs that do in minutes what would take you hours to do by hand-no prior programming experience required. Once you've mastered the basics of programming, you'll create Python programs that effortlessly perform useful and impressive feats of automation to: Search for text in a file or across multiple files Create, update, move, and rename files and folders Search the Web and download online content Update and format data in Excel spreadsheets of any size Split, merge, watermark, and encrypt PDFs Send reminder emails and text notifications Fill out online forms Step-by-step instructions walk you through each program, and practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks. Don't spend your time doing work a well-trained monkey could do. Even if you've never written a line of code, you can make your computer do the grunt work. Learn how in Automate the Boring Stuff with Python.

Material Type: Textbook

Author: Al Sweigert