CSC 500 - An Introduction to Computer Science (accelerated)
Course Syllabus - Fall 2022

Thursday 5:00-8:20pm (Congdon Hall, 2006)


Instructor:

Dr. Ron Vetter

The instructor is available by email at vetterr@uncw.edu, by telephone (910-538-3523) and by appointment.


Textbooks:

Introduction to Computer Science Using Python: A Computational Problem-Solving Focus, By Charles Dierbach

The Object-Oriented Thought Process, by Matt Weisfeld


Online Resources:


Course Description:

CSC 500. Introduction to Computer Science (4) An accelerated introduction to fundamental concepts in computer science. Topics include object-oriented programming; data structures; program control structures; introduction to algorithm design and analysis and software engineering concepts.

 


Homework, Exams, and Project:


Course Attendance:

You are expected to attend all lectures. Absence does not relieve you from meeting all course requirements. You are responsible for all reading, assignments, and exams. Keep up with the day-to-day reading requirements of the class.

All students are expected to attend and participate in person at an assigned day/time determined by instructor within assigned class schedule. Some course content may be delivered online asynchronously. (See Schedule below).


Health and Safety Considerations:

Following CDC Guidelines, UNC System directives, and out of mutual respect as outlined in the UNCW Seahawk Respect Compact, all faculty, staff, and students will wear face coverings while inside buildings. Students who are unprepared or unwilling to wear protective face coverings will not be permitted to participate in face-to-face sessions and will need to leave the building. Noncompliant students will be referred to the Dean of Students for an Honor Code Violation. Any student who has a medical concern with wearing a face covering should contact the Disability Resource Center at (910) 962-7555.

Students who experience COVID-19 symptoms should immediately contact the Abrons Student Health Center at (910) 962-3280.


Students with Disabilities:

Students with diagnosed disabilities should contact the Disability Resource Center. If you require accommodation for test-taking, please make sure you have registered with the Disability Resource Center no fewer than three days before the test.


Code of Academic Responsibility and Conduct:

Students are responsible for submitting their own work. Students who cooperate on oral or written examinations or work without authorization share the responsibility for violation of academic principles, and the students are subject to disciplinary action even when one of the students is not enrolled in the course where the violation occurred.


The weekly schedule for this course is as follows:

DATES:

TOPIC

READING

Week 1 (8/25)

Introduction to Computer Science.

 

Python Fundamentals: variables, expressions, control structures

Chapters 1, 2, 3

 

 

Week 2 (9/1)

Lists

Chapters 4

 

 

Week 3 (9/8)

Functions

Chapter 5

 

 

Week 4 (9/15)

Modular Design

Chapter 7

 

 

Week 5 (9/22)

Text Files

Chapter 8

 

 

 

Week 6 (9/29)

 

Review and Catch Up

 

 

Week 7

(10/6)

 

Exam 1

 

 

Week 8

(10/13)

 

Fall Break

 

Week 9 (10/20)

Object-Oriented Programming

Read "The Object-Oriented Thought Process"

Chapter 6, 10

OOP in Python (video)

Week 10 (10/27)

Recursion

 

Chapter 11 and Practice Exercises

 

 

Recursion: Video

Week 11 (11/3)

Basic Data Structures: Sets, Stacks, Queues, Linked Lists, Priority Queues, Heaps

 

 

 

1. Read Online Text Chapter 4 and review the self-check questions as you go through each section.

2. Watch the Sets, Stacks, and Queues Video. (19 min)

3. In Section 4.27 - Programming Exercises complete question #22 (How to implement a stack using a linked list). A solution is provided here. Read through it and understand what is going on.

4. Watch the Priority Queues and Heaps Video (22 min)

5. Read Online Text Chapter 7 (7.1 thru 7.11), including reviewing the self-check questions as you go through each section.

Week 12 (11/10)

Sorting and Searching

 

 

1. Read Online Text Chapter 6, and review the self-check questions as you go through each section.

2. Watch Arrays vs Lists and Binary Search (25 min). Also, review the non-recursive Binary Search

3. Watch Efficiency of Algorithms (11 min)

4. Watch Selection Sort (12 min)

5. Watch Insertion Sort (11 min)

6. Watch Recursion Revisited (18 min)

7. Watch Merge Sort (24 min) & Merge Sort Analysis (10 min)

8. Watch Quick Sort (14 min) (& Quick Sort Analysis (13 min)

9. Complete Homework Assignment #9.

Week 13 (11/17)

Software Engineering

 

 

Wikipedia Entry

 

Software Engineering Class

 

Videos:

  Software process models

  Agile Development

  Use Case Diagrams

  What is a Test Plan in Software Testing

 

  The History of Software Engineering with Grady Booch (ACM Learning Webinar, April 25, 2018).

 

Diagrams:

  Data Flow Diagram

  State Transition Diagram

  Use Case Diagram

  Data Dictionary

  Entity-Relationship Diagram

 

Week 13 (11/24)

 

Thanksgiving

 

Week 14 (12/1)

 

More Software Engineering Topics

 

 

 Videos:

  Software Quality

  What is a Test Plan in Software Testing

Week 15 (12/8)

Exam 2

 

Finals Week (12/9 - 12/15)

 

Final Project Due: Thursday, December 15, 2022, at 5:00pm


Page Last Updated: November 17, 2022