PIC Projects and Applications using C: A Project-based Approach