CS156Intro - Computer Science & Engineering

Download Report

Transcript CS156Intro - Computer Science & Engineering

CSCE156:
Introduction to Computer Science II
Instructor
Stephen Scott
Website
http://cse.unl.edu/~sscott/teach/?class=cse156F06
Welcome to CSE 156!!
•
•
•
•
Introductions
Syllabus
Homework 0
Course preview
Your First Assignment
• Homework 0: click on “Assignments” on the main course
page
• You will do this homework in your first lab period (this
week) or some time before Aug 29
– Make sure you have a JPEG picture of yourself (< 100k)
• You’ll take the course pretest this week (due Aug 29)
The Course Web Page
• On the course web page you will find
– Course details
– Daily schedule (subject to change)
– Assignments
– Laboratory information
– Grading scale and gradebook
– My policies, expectations, etc.
– Lecture notes and sample code
– Useful links
The Main Course Topics
•
•
•
•
•
3-tier architectures
Data structures
Sorting and searching
Programming language concepts
Other hard-to-categorize topics
3-Tier Architecures
• A 3-tier architecture is one which has
– A database back-end
– A middle tier which contains most of the logic
– A GUI front-end
• Related to this we will learn about
– Relational database definition
– Relational database design
– Defining and manipulating relational databases
with SQL
– Connecting to a database from an application
Data Structures
• We will learn about
–
–
–
–
Linked lists
Stacks
Queues
Binary Trees
• We will discuss two main methods of
implementing common data structures
– Array based
– Pointer based
Sorting and Searching
• Related to searching, we will learn about
– Sequential Search
– Binary Search
– Hashing
• We will discuss the following sorting algorithms
–
–
–
–
–
–
Selection sort
Insertion sort
Bubble sort
Quick sort
Merge sort
Heap sort (time permitting)
Programming Language Concepts
• Programming paradigms, including
– Object-oriented
– Procedural
– Scripting
• Overloading operators
• Pointers
• Dynamic memory and memory
management
• Abstract data types
Other Topics
•
•
•
•
•
•
Computational complexity
Recursion
Class libraries (STL)
Web technologies (HTML, PHP)
Debugging
Safe programming
Laboratories
• The purpose of the laboratories is to
– Give you hands-on experience using the topics
from lecture and the textbooks
– Teach you practical skills related to the course
concepts
– Expose you to new languages, libraries,
operating systems, software tools, etc.
•
•
•
•
•
•
•
•
•
•
Laboratory Topics
(subject to minor changes)
New Operating System: UNIX
New Object-Oriented Language: C++
New Debugger: gdb
New Concept: Overloading Operators
New Concept: Memory Management
New Concept: Templates
New Concept: Safe Programming
Database Query Language: SQL
Hypertext Markup Language: HTML
Scripting Language: PHP