120 likes | 411 Views
CSCE156: Introduction to Computer Science II Instructor Stephen Scott Website http://cse.unl.edu/~sscott/teach/?class=cse156F05 Welcome to CSE 156!! Introductions Syllabus Homework 0 Course preview Your First Assignment
E N D
CSCE156:Introduction to Computer Science II Instructor Stephen Scott Website http://cse.unl.edu/~sscott/teach/?class=cse156F05
Welcome to CSE 156!! • Introductions • Syllabus • Homework 0 • Course preview
Your First Assignment • Homework 0: http://www.cse.unl.edu/~sscott/teach/?class=cse156F05&page=Assignments/0HW/0hw • Or, simply click on “Assignments” on the main course page • You will do this homework in your first lab period (this week) • Make sure you have a JPEG picture of yourself (< 100k) • You’ll also take the course pretest during the lab
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 • Model-View-Controller (MVC)
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 • Java Database Interface: JDBC • Hypertext Markup Language: HTML • Scripting Language: PHP