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

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


Dr. Ron Vetter

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


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:




Week 1 (8/25)

Introduction to Computer Science.


Python Fundamentals: variables, expressions, control structures

Chapters 1, 2, 3



Week 2 (9/1)


Chapters 4



Week 3 (9/8)


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



Exam 1



Week 8



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)



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



  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).



  Data Flow Diagram

  State Transition Diagram

  Use Case Diagram

  Data Dictionary

  Entity-Relationship Diagram


Week 13 (11/24)




Week 14 (12/1)


More Software Engineering Topics




  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