This course offers an overview and an introduction to the capabilities and limitations of computing and digital multimedia; the theoretical foundations of computing that drive future computing and technological advancements; computer software including operating system and application software; fundamentals of computer networks and the Internet; networks types and standard protocols; cloud computing; next generation Internet or "Internet of the things"; additive manufacturing and 3D printers for business; business intelligence, data analysis, digital contact with customers; privacy and personal data protection on the Internet; “Cyber war,” computer risk, and security concerns.
This course helps students develop the advanced skills that are necessary in personal productivity office applications, such as word processing, data management and analysis, and presentation/slide design. The course follows best practices and reviews available internet tools for data storage.
The premise of this course is that a web site differs from a traditional media publication because its contents can be updated at any moment, many possibilities exist for making it interactive, and reader attention span is short. The course provides students with technical knowledge and skills required to build a web site, while covering design, communication, and computer-human interaction issues. Topics include web history, HTML, style sheets, and effective information searching. As a final project, students create a web site on a liberal arts topic, which will be judged by the instructor and a reader specialized in the chosen topic.
The course provides students with the technical knowledge required to deal with the professional process of designing, developing, installing and maintaining a business web site.
This course introduces fundamental computer programming concepts using a high-level language and a modern development environment. Programming skills include sequential, selection, and repetition control structures, functions, input and output, primitive data types, basic data structures including arrays and pointers, objects, and classes. Software engineering skills include problem solving, program design, and debugging practices. The goal of this course is to advance students’ computational thinking, educate them to use programs as tools in their own field of study, and to provide them with fundamental knowledge of programming strategies.
This course introduces the main elements of formal reasoning and its applications to the theory of computation. Starting from the definition of logic statements and elementary structures in discrete mathematics, such as numbers, sets, and graphs, the course discusses the formalization of real-life problems in mathematical and computer science terms. Mathematical tools will be introduced to infer the validity of complex statements starting from elementary ones and different techniques for deriving formal proofs of theorems will be analyzed. Examples of algorithmic solutions to real-life problems exploiting their formalization will also be presented and discussed, both in terms of correctness and efficiency.
This course is designed for the general student to provide a more in depth study of artificial intelligence (no computer programming skills are necessary). This course will discuss intelligent agents and the building blocks of artificial intelligence: knowledge bases, reasoning systems, problem solving, heuristic search, machine learning, and planning.
This course will focus on advanced programming techniques and introduce concepts of algorithm design and analysis, using Python, a modern programming language that is popular in the industry. Topics of the course include the implementation and evaluation of advanced algorithms, the design and deployment of Web applications, and the fundamentals of programming for data management and analysis.