diff --git a/lec04/.gitkeep b/lec04/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/lec04/.pipe.swp b/lec04/.pipe.swp
new file mode 100644
index 0000000000000000000000000000000000000000..e5f0fab7d87b26f56ec7815beb1b4d016110376f
Binary files /dev/null and b/lec04/.pipe.swp differ
diff --git a/lec04/bin b/lec04/bin
new file mode 100755
index 0000000000000000000000000000000000000000..b7fec72b7d134656a6c7e4474f6d4acb7794151f
Binary files /dev/null and b/lec04/bin differ
diff --git a/lec04/binary.c b/lec04/binary.c
new file mode 100644
index 0000000000000000000000000000000000000000..943e36d787acdfabe2d60d15be3e04aa0c775e4e
--- /dev/null
+++ b/lec04/binary.c
@@ -0,0 +1,38 @@
+#include<stdio.h>
+
+int main()
+{
+	int i;
+	unsigned int in_a, in_b, in_c;
+	fscanf(stdin, "%d %d", &in_a, &in_b);
+	in_c = in_a >> 2;
+	fprintf(stdout, "%d : ", in_a);
+	for(i=31; i>= 0; i--)
+	{	
+		fprintf(stdout, "%d", ((in_a>>i) & 1));
+		if(i % 4 == 0)
+		       	fprintf(stdout, " ");
+	}
+	fprintf(stdout, "\n");
+	
+	fprintf(stdout, "%d : ", in_b);	
+	 for(i=31; i>= 0; i--)
+        {
+                fprintf(stdout, "%d", ((in_b>>i) & 1));
+                if(i % 4 == 0)
+                        fprintf(stdout, " ");
+        }
+        fprintf(stdout, "\n");
+
+	fprintf(stdout, "%d : ", in_c);
+	 for(i=31; i>= 0; i--)
+        {
+                fprintf(stdout, "%d", ((in_c>>i) & 1));
+                if(i % 4 == 0)
+                        fprintf(stdout, " ");
+        }
+        fprintf(stdout, "\n");
+	
+}
+
+
diff --git a/lec04/hello.c b/lec04/hello.c
new file mode 100644
index 0000000000000000000000000000000000000000..4af461d3e43b82e08ba78fc2f4faf84d6488e95a
--- /dev/null
+++ b/lec04/hello.c
@@ -0,0 +1,9 @@
+#include<stdio.h>
+
+int main()
+{
+	int in_a;
+	fscanf(stdin, "%d", &in_a);
+	fprintf(stdout, "Hello stdout %d\n", in_a);
+	fprintf(stderr, "Hello stderr %d\n", in_a);
+}
diff --git a/lec04/hello2.c b/lec04/hello2.c
new file mode 100644
index 0000000000000000000000000000000000000000..d7cc45131079ccbd2555f8cb928bee8de6f0d9d9
--- /dev/null
+++ b/lec04/hello2.c
@@ -0,0 +1,11 @@
+#include<stdio.h>
+
+int main()
+{
+	int in_a;
+	fscanf(stdin, "%d", &in_a);
+	fprintf(stdout, "Hello stdout %d\n", in_a);
+	fprintf(stdout, "Hello stdout %d\n", in_a);
+	fprintf(stdout, "Hello stdout %d\n", in_a);
+	fprintf(stdout, "Hello stdout %d\n", in_a);
+}
diff --git a/lec04/out.txt b/lec04/out.txt
new file mode 100644
index 0000000000000000000000000000000000000000..346d1caa02b3e746973c8ecd9f9c508597320858
--- /dev/null
+++ b/lec04/out.txt
@@ -0,0 +1,2 @@
+Hello stderr 300
+Hello stdout 300
diff --git a/lec04/report04.md b/lec04/report04.md
new file mode 100644
index 0000000000000000000000000000000000000000..9364705935e901bdbfc0a0d673b69a7b3bce86c2
--- /dev/null
+++ b/lec04/report04.md
@@ -0,0 +1,16 @@
+### Lecture 03
+
+#### 배운것
+
+* git command
+  * git clone
+  * git pull
+  * git add
+  * git commit
+  * git push
+
+#### editing
+
+SSH 서버에서 작업한 내용입니다. 
+
+PC에서 작업한 내용입니다.