You fill out the sign-up sheet, providing us with your ranking of the projects, requests to be on the same team as a friend or two, and any other information you want us to know. Once the sign-up deadline has passed, the CS faculty will assemble the teams, trying to honor people's preferences as much as possible. We can't promise to give you your first or second choice (imagine all students giving the same ranking of the projects, for example), but we will do the best we can.
Yes. Teammate requests are included on the sign-up sheet. We will consider these requests if we are first able to satisfy people's project preferences. You're more likely to get your wish if you and your friend both ask to work with each other. As with project preferences, there are simple mathematical reasons why we can't promise to put you with your friend(s), but we will try to honor reasonable requests.
Don't push your luck.
Write your idea clearly and concisely, including detailed goals, software/hardware requirements if applicable, and an explanation of why you think your idea is appropriate for the senior integrative exercise. Give it to any or all of the CS professors, and we will consider it some time in the spring. If your idea is still a bit vague, feel free to come chat with any of us to figure out how to pin it down.
Iris Jastram put together this awesome guide on doing CS literature searches, for comps. https://gouldguides.carleton.edu/cs