logic gates and adder are basic components of building a processor. all high-level language programs will be translated into instructions that can be executed on these basic components. the correctness and performance of these components are extremely important. a computer system consists of hardware and software. before we implement a hardware component, the design is normally simulated by a program first, so that we can verify its correctness and evaluate its performance. in this project, you will write scheme programs to simulate an n-bit adder. if you did not take cse120/eee120 and are not familiar with logic gates, you can ignore the physical meaning of the components. as we discussed in the lecture, simply consider each component as a pure math/logic function that does something, and you are asked to combine a more complex function using a few simpler functions in a specific way.