I am currently an engineering major going into my junior year in college. I have always been good at computer science and this semester I took a CS course that teaches me programming in JAVA, prolog, rex, and some assembly language. I am not so good at engineering, probably get average or below average grades. I am a lot better at CS but I will be entering my junior year in the fall and will be an incredibly behind CS major if i switch. Plus I know that CS is incredibly competitive. If I switch my major, I won't stay in college for the 5th year but I will still be very behind all the other CS majors. What should I do, I am pretty comfortable in engineering but I enjoy CS more (at least what I know of it know who knows how I will like the more upper division classes). Give some opinions please.