Please Reload Every Time You Read This Page!

CSC15: Fundamentals of Computer Science I, Fall 2019

Dr. Chuck C. Liang
Professor of Computer Science, Hofstra University .

Office Address:
102 Adams Hall
Hofstra University
Hempstead, NY 11550
Office Phone: (516 463) 5559

Email: (<- click to send me mail)

Official Office Hours: Tues, Wednes, Thurs 1-2pm or by appointment

Course Syllabus

Online Resources:

lab 1, lab 2, lab 3, lab 4, lab 5, lab 6, lab 6b, lab 7, lab 7b, lab 8, lab 9, lab 10

For Lab 8: for uploading to AWS Lambda

SAMPLE SOLUTION TO LAB 7b!!!! with this permutation

Files for lab 6b: dozer.udna (don't open, just download)

Files for lab 6: father.dna, artyan.dna, arman.dna, and

Support files for lab 5:, racer.gif
Optional Lab 5 Addendum

Submit all programming assignments on blackboard (csc15L)

Essential Notes:

Notes on Statements and Expressions, with Exercises
Notes on if-else and while loops.
Notes on Binary numbers (part I)
Notes on Tuples, Strings and Arrays
Notes on Functions
Extra practice problems on Functions, arrays, loops and sample solutions
Python association arrays
Python Exception Handling
Notes on pointers and 2D arrays
Notes and examples of object-oriented programming
... continued ....

Sample Programs:

Program that draws a diamond. (for lab 2)
Program to add minutes and seconds:
More examples of if statements and while loops.
Number guessing game version 1 (humans guess)
From one circle to many. Uses the animation template: only need to look at mydraw function.
Here's another version that detects collision
Football simulation program and data file that it reads.
Important algorithms to know (includes binary search and swapsort, from 10/10 class)
More functions and loops, logic loops
String matching routines (prep for DNA assignment, based on 10/15 class)
Routines for prime numbers and RSA encryption
Routines for permutations
Routines for converting between decimal and hexadecimal
Another example of classes and objects
student objects example from 11/12 class
More advanced OOP example, including inheritance
Another example of inheritance with JSON encoding and decoding

Sample gui program illustrating event handling
Sample Alexa skill (student info)
Alexa version of number guessing game: BAD WAY TO CODE and BETTER WAY TO CODE, with json specs.
approximate string matching algorithm from 11/21 class. (there's an algorithmic error about the first row and column that you'll have to fix)
Examples of Recursion: simple but bad examples, generate all permutations, mergesort, and recursively copy nested lists and dictionaries, with exercise
Binary search trees (advanced examples of oop + recursion)


Final Exam Thursday 12/12, 1:30-3:30pm, location TBA. Exam will be proctored by prof. Xiang Fu. Use the final study guide with practice problems and sample solutions

Midterm Exam Tuesday 10/22. Use the exam study guide, which has practice problems and sample solutions

Expect Quizzes on Tuesdays.