Study notes for Digital Logic Design and Programming for Engineering's students