A flowchart is a graphical representation of a process or program that shows the steps as boxes of various kinds, and their order by connecting them with arrows. It uses standard symbols like circles, boxes, diamonds, and arrows to represent actions, decisions, connections, and flow direction in a program or process. Common symbols are terminals, processes, decisions, inputs/outputs, and predefined processes. Guidelines for effective flowcharting include having a clear start and end, logical sequence, single flow lines connecting symbols, and avoiding intersecting lines.