CSCI 1200: Computer Science Principles

Spring 2014

Meeting times: Section 002: TR 9:00-10:15 in PKI 260
Section 003: F 9:00-11:45 in PKI 276
Instructors: Dr. Jon Youn, PKI 282E, 402-554-2187, jyoun at unomaha dot edu, Office hours: Mon/Wed 10:30-11:50am
Dr. Harvey Siy, PKI 281B, 402-554-2834, hsiy at unomaha dot edu, Office hours: send email to set up appointment
Tutor hours:Tue 2-4pm, Thu 2-4pm, Fri 2-3pm at PKI 154F
Textbooks: App Inventor: Create Your Own Android Apps. O'Reilly Media, 2011. Available online.
Blown to Bits: Your Life, Liberty, and Happiness After the Digital Explosion. Addison-Wesley, 2010. Available online.

Why take this course?

Computers are everywhere: PCs, phones, utilities, appliances, and everything in between. Our society depends on computer-controlled systems. More than ever, Computer Science is indispensable to those creating tomorrow's technology. CS-related jobs are once again in demand. If you can learn how to use computing to solve problems, the possibilities are endless!

Don't believe us? Check out this video from code.org:

Have questions or want to learn more about the course? Send email to Harvey or Jon.

Overview

This course provides a gentle introduction to the field of computer science. Students learn the foundational principles of computer science and learn to solve problems the "computational" way.

The exercises and projects will develop apps on Android mobile devices using AppInventor.

This course aims to give students in all majors the confidence to read and write small computer programs. It can be taken as a general education science course, or can be used as a prerequisite to prepare for CIST 1400, or can be taken as an elective.

Prerequisites

Math 1310 or equivalent intermediate (or high school) algebra.

Learning Objectives

Students who complete this course will:
  1. Gain experience in Android application development.
  2. Understand the societal need for continued computing innovations.
  3. Be able to express algorithms in a well-defined and unambiguous manner.
  4. Map practical problems to a computational solution.
  5. Develop appropriate abstractions to manage problem complexity.
  6. Use programming as a creative tool.

Course content

The course will be team-taught (Youn/Siy) and conducted in an integrated lecture/lab format once every week. We will employ inquiry-based learning techniques, introducing computational concepts through practical problems.
  1. Societal impact of computing
  2. Computational thinking
  3. Algorithms
  4. How computers work
    1. The von Neumann architecture
    2. Data and bits
  5. Exploring programming
    1. Variables and data manipulation
    2. Decisions, loops and logical reasoning
    3. Simple data structures
  6. Designing larger programs
    1. Modularization
    2. Stepwise refinement
  7. Writing applications
    1. Web applications
    2. Mobile applications
    3. Storing data
    4. Graphics and multimedia

Schedule

Week Topic Planned Quizzes Instructor
1: Jan 13-17 Course Overview Siy
2: Jan 20-24 Intro to Mobile Computing
App Inventor Programming
Youn
3: Jan 27-31 Information Representation Siy
4: Feb 3-7 A Simple Painting App
PaintPot tutorial
Variables
Quiz 1 Youn
5: Feb 10-14 Decisions
Boolean expressions
if/else blocks
randomization
Siy
6: Feb 17-21 Lists
Textual variables
Presidents' Quiz tutorial
Quiz 2 Siy
7: Feb 24-28 Iteration Youn
8: Mar 3-7 Time-based Animation Quiz 3 Youn
9: Mar 10-14 Advanced Animation
Pong tutorial
MoleMash tutorial
Youn
10: Mar 17-21 Modeling and Simulation Quiz 4 Siy
11: Mar 24-28 No classes - Spring break
12: Mar 31-Apr 4 Persistent Storage
TinyDB and TinyWebDB
Youn
13: Apr 7-11 Big Data and Cloud Computing Quiz 5 Siy
14: Apr 14-18 Context-Aware Computing
Sensors in App Inventor
Youn
15: Apr 21-25 Other Languages: Python Quiz 6
16: Apr 28-May 2 Project presentations

Evaluation

ComponentPercent
Homeworks
(programming
& written)
30%
Lab Work 20%
Quizzes 20%
Big Project 30%

Academic Integrity

Cheating will not be tolerated for project assignments, exams and other assignments. For formal policies about cheating and plagiarism, consult the UNO Student Policies and Department of Computer Science Policies and Procedures.

Back to homepage.