CSCI 1200: Computer Science Principles

Spring 2013

Meeting times: Section 001: W 3:00-5:45
Section 002: F 9:00-11:45
Classroom: PKI 260
Instructors: Dr. Jon Youn, PKI 282E, 402-554-2187, jyoun at unomaha dot edu, Office hours: MW 10:00-11:30am
Dr. Harvey Siy, PKI 281B, 402-554-2834, hsiy at unomaha dot edu, Office hours: T 3:00-4:00pm, R 1:30-2:30pm, or by appointment (call or email in advance)
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.
Think Python: How to Think Like a Computer Scientist. Green Tea Press, 2012. Available online.

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 and Python.

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

Prerequisites

None.

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

Evaluation

ComponentTotalApp Inventor
Session
Python
Session
Homeworks
(programming
& reading)
60% 30% 30%
Lab Assignments 20% 10% 10%
Class Project 20%

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.