The special topic offered is “Hardware Design for Computer Scientists.” This course introduces computer science students to main software contributions in modern hardware design methodologies and tools. Moreover, the students will be introduced to basic digital hardware and their correspondence to high-level programs. Students will experience the hardware/software co-design process. In addition, Students will build on their programming skills to develop hardware cores for famous algorithms. The students will practice a hardware description language and a schematic simulation tool.