The second semester of Foundations of Computer Science furthers our understanding of what’s possible through programming, while building more sophisticated problem solving techniques. The semester begins with presenting content on the web using HTML/CSS. Then we move to programming in Python, covering a variety of topics including algorithm complexity, data analysis and visualization, and fractals. We will also look at using Python to procedurally generate web content.